Update (alpha 4):
- Callbacks verbessert
- Drawing Beispiel geändert
Module:
Code: Alles auswählen
;By Mijikai
;PBAR (Progressbar) module
;Version: alpha 4
;Tested on Win10 x64
;PB v.5.60
DeclareModule PBAR
Structure PBAR_DRAW_STRUCT
Type.b
State.i
Percent.i
Width.i
Height.i
Offset.i
BackColor.l
FrontColor.l
FxColor.l
Custom.i
EndStructure
Declare.i Create(X.i,Y.i,Width.i,Height.i,Minimal.i,Maximal.i,BackColor.l,FrontColor.l,FxColor.l,Vertical.b)
Declare.i Set(Gadget.i,State.i)
Declare.i Get(Gadget.i)
Declare.i Percent(Gadget.i)
Declare.i SetColor(Gadget.i,Color.l,Flag.b)
Declare.i SetColors(Gadget.i,BackColor.l,FrontColor.l,FxColor.l)
Declare.i SetStateCallback(Gadget.i,Function.i,State.i,Custom.i)
Declare.i SetDrawCallback(Gadget.i,Function.i,Custom.i)
Declare.i Free(Gadget.i)
EndDeclareModule
Module PBAR
Structure PBAR_STRUCT
Minimal.i
Maximal.i
Tick.f
Factor.f
Percent.i
State.i
Drawing.PBAR_DRAW_STRUCT
CallbackDraw.i
CallbackState.i
CallState.i
Custom.i
EndStructure
#PBAR_GRADIENT_FACTOR = 0.8
#PBAR_BORDER_COLOR = $808080
Prototype.i PBAR_CALLBACK_DRAW(Gadget.i,*Drawing.PBAR_DRAW_STRUCT)
Prototype.i PBAR_CALLBACK_STATE(Gadget.i,State.i,Percent,Custom.i)
Procedure.i Percent(Gadget.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx
ProcedureReturn *ProgressBarEx\Percent
EndIf
EndProcedure
Procedure.i Get(Gadget.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx
ProcedureReturn *ProgressBarEx\State
EndIf
EndProcedure
Procedure.i Set(Gadget.i,State.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
Protected BackState.i
Protected *CallDraw.PBAR_CALLBACK_DRAW
Protected *CallState.PBAR_CALLBACK_STATE
If State > -1 And *ProgressBarEx
With *ProgressBarEx
If \Maximal < State
State = \Maximal
EndIf
BackState = State
If \Minimal
If State > \Minimal
State - \Minimal
Else
State = #Null
EndIf
EndIf
If StartDrawing(CanvasOutput(Gadget))
\Percent = \Factor * State
\Drawing\Offset = \Tick * State
DrawingMode(#PB_2DDrawing_Default)
Box(#Null,#Null,GadgetWidth(Gadget),GadgetHeight(Gadget),\Drawing\BackColor)
If \CallbackDraw
*CallDraw = \CallbackDraw
\Drawing\State = BackState
\Drawing\Percent = \Percent
*CallDraw(Gadget,@\Drawing)
Else
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(\Drawing\FrontColor)
BackColor(\Drawing\FxColor)
If \Drawing\Type
LinearGradient(\Drawing\Width/#PBAR_GRADIENT_FACTOR,\Drawing\Offset,#Null,\Drawing\Offset)
Box(#Null,#Null,\Drawing\Width,\Drawing\Offset,\Drawing\FrontColor)
Else
LinearGradient(\Drawing\Offset,\Drawing\Height/#PBAR_GRADIENT_FACTOR,\Drawing\Offset,#Null)
Box(#Null,#Null,\Drawing\Offset,\Drawing\Height,\Drawing\FrontColor)
EndIf
EndIf
DrawingMode(#PB_2DDrawing_Outlined)
Box(#Null,#Null,GadgetWidth(Gadget),GadgetHeight(Gadget),#PBAR_BORDER_COLOR)
StopDrawing()
\State = BackState
If \CallbackState
If \State = \CallState
*CallState = \CallbackState
If *CallState(Gadget,\State,Percent,\Custom)
\CallbackState = #Null
EndIf
EndIf
EndIf
ResizeGadget(Gadget,#PB_Ignore,#PB_Ignore,#PB_Ignore,#PB_Ignore)
ProcedureReturn #True
EndIf
EndWith
EndIf
EndProcedure
Procedure.i Create(X.i,Y.i,Width.i,Height.i,Minimal.i,Maximal.i,BackColor.l,FrontColor.l,FxColor.l,Vertical.b)
Protected *ProgressBarEx.PBAR_STRUCT
Protected Gadget.i
If Minimal > -1 And Minimal < Maximal
*ProgressBarEx = AllocateMemory(SizeOf(PBAR_STRUCT))
If *ProgressBarEx
With *ProgressBarEx
\Drawing\BackColor = BackColor
\Drawing\FrontColor = FrontColor
\Drawing\FxColor = FxColor
Gadget = CanvasGadget(#PB_Any,X,Y,Width,Height)
If Gadget
\Drawing\Type = Vertical
\Minimal = Minimal
\Maximal = Maximal
\Factor = \Maximal - \Minimal
If Vertical
\Tick = Height / \Factor
Else
\Tick = Width / \Factor
EndIf
\Factor = 100 / \Factor
\Drawing\Width = Width
\Drawing\Height = Height
SetGadgetData(Gadget,*ProgressBarEx)
If Set(Gadget,0)
ProcedureReturn Gadget
EndIf
FreeGadget(Gadget)
EndIf
EndWith
FreeMemory(*ProgressBarEx)
EndIf
EndIf
EndProcedure
Procedure.i Free(Gadget.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx
FreeMemory(*ProgressBarEx)
EndIf
FreeGadget(Gadget)
EndProcedure
Procedure.i SetColors(Gadget.i,BackColor.l,FrontColor.l,FxColor.l)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx
With *ProgressBarEx
\Drawing\BackColor = BackColor
\Drawing\FrontColor = FrontColor
\Drawing\FxColor = FxColor
Set(Gadget,\State)
EndWith
EndIf
EndProcedure
Procedure.i SetColor(Gadget.i,Color.l,Flag.b)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx
With *ProgressBarEx
Select Flag
Case 1:\Drawing\FrontColor = Color
Case 2:\Drawing\FxColor = Color
Default:\Drawing\BackColor = Color
EndSelect
Set(Gadget,\State)
EndWith
EndIf
EndProcedure
Procedure.i SetStateCallback(Gadget.i,Function.i,State.i,Custom.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx And Function
*ProgressBarEx\CallbackState = Function
*ProgressBarEx\CallState = State
*ProgressBarEx\Custom = Custom
ProcedureReturn #True
EndIf
EndProcedure
Procedure.i SetDrawCallback(Gadget.i,Function.i,Custom.i)
Protected *ProgressBarEx.PBAR_STRUCT = GetGadgetData(Gadget)
If *ProgressBarEx And Function
*ProgressBarEx\CallbackDraw = Function
*ProgressBarEx\Drawing\Custom = Custom
ProcedureReturn #True
EndIf
EndProcedure
EndModule
Code: Alles auswählen
Procedure.i PBAR_State(Gadget.i,State.i,Percent.i,Custom.i)
MessageRequester("CallbackState!","State: " + Str(State))
ProcedureReturn #True;#True -> Callback gets only called once!
EndProcedure
Procedure.i PBAR_Draw(Gadget.i,*Drawing.PBAR::PBAR_DRAW_STRUCT)
Protected Offset.i, Count.i
For Offset = 0 To *Drawing\Offset - 1
If Count = ImageWidth(*Drawing\Custom) - 1
Count = 0
EndIf
Count + 1
If GrabImage(*Drawing\Custom,66,Count,0,1,ImageHeight(*Drawing\Custom))
DrawAlphaImage(ImageID(66),Offset,-5)
FreeImage(66)
EndIf
Next
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(150,2, Str(*Drawing\Percent) + "%")
;*Drawing\Offset -> progress relative to the progressbar size (width or height see *Drawing\Type)
;*Drawing\Type -> 0 = horizontal / 1 = vertical
EndProcedure
UsePNGImageDecoder()
If OpenWindow(0,0,0,300,250,#Null$,#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
Bar1 = PBAR::Create(10,10,20,200,50,150,#Gray,#Green,#White,#True)
Bar2 = PBAR::Create(40,40,200,20,0,200,$58260E,$C9A239,$C9FB00,#False)
Bar3 = PBAR::Create(40,100,200,30,0,100,$58260D,$CB7448,$FFF7C0,#False)
AddWindowTimer(0,0,10)
Tile = CatchImage(#PB_Any,?BarTile)
If Bar1 And Bar2 And Bar3 And Tile: i = 50
PBAR::SetStateCallback(Bar1,@PBAR_State(),100,#Null)
PBAR::SetDrawCallback(Bar2,@PBAR_Draw(),Tile)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Timer
If PBAR::Get(Bar1) > 100
i = 50
EndIf
i + 1
SetWindowTitle(0,"Bar1: " + Str(PBAR::Percent(Bar1)) + "% - Bar2: " + Str(PBAR::Percent(Bar2)) + "%")
PBAR::Set(Bar1,i)
PBAR::Set(Bar2,i)
PBAR::Set(Bar3,100 - i)
If Mod(i,10)
PBAR::SetColor(Bar3,RGB(i * 5,0,100),0)
EndIf
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
PBAR::Free(Bar1)
PBAR::Free(Bar2)
PBAR::Free(Bar3)
EndIf
EndIf
DataSection
BarTile:
;{File: BarTile.png - Size: 4196 Bytes
!dw 05089h, 0474Eh, 00A0Dh, 00A1Ah, 00000h, 00D00h, 04849h, 05244h, 00000h, 02000h, 00000h, 02000h, 00608h, 00000h, 07300h, 07A7Ah
!dw 000F4h, 01000h, 0492Bh, 04144h, 05854h, 001C3h, 01020h, 0EFDFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00002h, 0EFB5h, 0FFEEh
!dw 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 0FFEEh
!dw 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 002FFh, 0E000h, 01275h
!dw 0B500h, 0EEEFh, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h
!dw 0B500h, 0EEEFh, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00002h, 08B20h
!dw 000EEh, 075E0h, 00012h, 0EFB5h, 0FFEEh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h, 0114Bh
!dw 00012h, 00000h, 00000h, 0EFB5h, 0FFEEh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 075E0h, 00212h, 00000h
!dw 00000h, 02000h, 0EE8Bh, 0E000h, 01275h, 0B500h, 0EEEFh, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 04B00h, 01211h, 09601h
!dw 00165h, 04B00h, 01211h, 00000h, 00000h, 0B500h, 0EEEFh, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 0E000h, 01275h, 02000h, 0EE8Bh, 00002h
!dw 0114Bh, 00012h, 00000h, 00000h, 08B20h, 000EEh, 075E0h, 00012h, 0EFB5h, 0FFEEh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h, 0114Bh, 00112h, 06596h, 00001h
!dw 00000h, 00100h, 06596h, 00001h, 0114Bh, 00012h, 00000h, 00000h, 0EFB5h, 0FFEEh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 075E0h, 00012h, 08B20h, 000EEh, 00000h, 00100h
!dw 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 0E000h, 01275h, 02000h, 0EE8Bh, 04B00h, 01211h, 09601h, 00165h
!dw 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h
!dw 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 0E000h, 01275h, 02000h, 0EE8Bh, 00000h, 00000h, 04B00h, 01211h
!dw 00001h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h, 075E0h, 00012h, 08B20h, 000EEh, 0114Bh
!dw 00112h, 06596h, 0FF01h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h, 0114Bh, 00112h, 06596h, 00001h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h, 0114Bh
!dw 00112h, 06596h, 0FF01h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 075E0h, 00012h, 08B20h, 000EEh, 00000h, 00000h, 0114Bh, 00112h, 06596h
!dw 00101h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 0E000h, 01275h, 02000h
!dw 0EE8Bh, 04B00h, 01211h, 0B500h, 0EEEFh, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h
!dw 00000h, 04B00h, 01211h, 0B500h, 0EEEFh, 0E000h, 01275h, 02000h, 0EE8Bh, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h, 00000h
!dw 00000h, 00001h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh, 0EFB5h, 000EEh, 00000h, 00000h
!dw 075E0h, 00012h, 08B20h, 000EEh, 00000h, 00000h, 0114Bh, 00112h, 06596h, 00001h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah, 000FFh
!dw 0EFB5h, 000EEh, 00000h, 00000h, 075E0h, 00012h, 08B20h, 000EEh, 00000h, 00000h, 0114Bh, 00112h, 06596h, 00001h, 00000h, 00000h
!dw 00000h, 00100h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 0B500h, 0EEEFh
!dw 00000h, 00000h, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 06AFFh, 0FF9Bh, 0B500h, 0EEEFh, 00000h, 00000h, 00000h, 00000h, 04B00h, 01211h, 09601h, 00165h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 0FF00h, 09B6Ah
!dw 0FFFFh, 08A1Fh, 0FFEDh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 0FF00h, 09B6Ah, 0FFFFh, 08A1Fh, 0FFEDh, 09B6Ah, 000FFh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 06AFFh, 0FF9Bh, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h
!dw 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 00000h, 05692h, 03D1Eh, 00868h, 085BCh, 00000h, 00000h, 04549h, 0444Eh
!dw 042AEh, 08260h
;}
EndDataSection