Home » Archimedes archive » Acorn Computing » 1994 05 subscription disc.adf » 9405s » Miscellany/!Sevens/!RunImage

Miscellany/!Sevens/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1994 05 subscription disc.adf » 9405s
Filename: Miscellany/!Sevens/!RunImage
Read OK:
File size: 25E8 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > !RunImage
   20
   30ONERROR PROC_Error(REPORT$+" at line "+STR$ERL):SYS "Wimp_CloseDown",TaskHandle%,&4B534154:END
   40
   50PROC_Init
   60
   70REPEAT
   80   SYS "OS_ReadMonotonicTime" TO time%
   90   SYS "Wimp_PollIdle",%1100100110000-(GameStatus%<1 OR GameStatus%>22 OR GameStatus%=15),B%,time%+20 TO Reason%
  100   CASE Reason% OF
  110      WHEN 0:PROC_Null
  120      WHEN 2:PROC_OpenWindow
  130      WHEN 3:PROC_CloseWindow
  140      WHEN 6:PROC_MouseClick
  150      WHEN 9:PROC_MenuSelection
  160      WHEN 17,18:PROC_UserMessage
  170   ENDCASE
  180UNTIL Finished%
  190
  200SYS "Wimp_CloseDown",TaskHandle%,&4B534154
  210
  220END
  230
  240DEFPROC_Null
  250   CASE GameStatus% OF
  260      WHEN 1,3,5,7:PROC_IconSprite(P%+14,""):GameStatus%+=1
  270      WHEN 2,4,6:PROC_IconSprite(P%+14,Card$(C%)):GameStatus%+=1
  280      WHEN 8,10,12:f$=FN_GetIconSprite(S%+2-4*(R%<6)-8*(R%>6))
  290                   PROC_IconSprite(S%+2-4*(R%<6)-8*(R%>6),Card$(C%))
  300                   GameStatus%+=1
  310      WHEN 9,11:PROC_IconSprite(S%+2-4*(R%<6)-8*(R%>6),f$):GameStatus%+=1
  320      WHEN 13:PROC_UpdatePack:GameStatus%+=1
  330      WHEN 14:Turn%=(Turn%+1) MOD 4
  340              IF Turn%<>0 THEN PROC_CompTurn ELSE GameStatus%+=1
  350      WHEN 16,18,20:PROC_MoveIconBy(71,-1000,0)
  360                    PROC_RedrawPassText
  370                    GameStatus%+=1
  380      WHEN 17,19,21:PROC_MoveIconBy(71,1000,0)
  390                    PROC_RedrawPassText
  400                    GameStatus%+=1
  410      WHEN 22:GameStatus%=14
  420   ENDCASE
  430   IF GameStatus%=8 AND Turn%=0 THEN PROC_MoveIconBy(P%+14,1000,0)
  440ENDPROC
  450
  460DEFPROC_OpenWindow
  470   SYS "Wimp_OpenWindow",,B%
  480ENDPROC
  490
  500DEFPROC_CloseWindow
  510   SYS "Wimp_CloseWindow",,B%
  520ENDPROC
  530
  540DEFPROC_MouseClick
  550   SYS "Wimp_GetPointerInfo",,Tmp%
  560   But%=Tmp%!8
  570   IF But%=2 AND Tmp%!12=-2 THEN PROC_CreateMenu(BarMenu%,Tmp%!0-64,184)
  580   IF (But%=1 OR But%=4) THEN
  590      IF Tmp%!12=-2 THEN PROC_OpenWindowH(MainHandle%)
  600      IF Tmp%!16=66 THEN PROC_NewDeal
  610      IF (Tmp%!16=67 OR Tmp%!16=68) AND GameStatus%=15 THEN
  620         IF NOTFN_CanGo THEN GameStatus%=16:$PassText%="South Passes!":PROC_IncrementPot(5) ELSE VDU 7
  630      ENDIF
  640      IF Tmp%!16>=14 AND Tmp%!16<=26 AND GameStatus%=15 THEN
  650         P%=Tmp%!16-14
  660         C%=Pack%(P%)
  670         S%=C% DIV 13
  680         R%=C% MOD 13
  690         IF R%=Free%(S%,0) OR R%=Free%(S%,1) THEN GameStatus%=1 ELSE VDU 7
  700      ENDIF
  710   ENDIF
  720ENDPROC
  730
  740DEFPROC_MenuSelection
  750   SYS "Wimp_GetPointerInfo",,Tmp%
  760   But%=Tmp%!8
  770   SYS "Wimp_DecodeMenu",,OpenMenu%,B%,Tmp%
  780   MenuSel$=$Tmp%
  790   CASE MenuSel$ OF
  800      WHEN "Quit"
  810         Finished%=TRUE
  820   ENDCASE
  830   IF But%=1 THEN PROC_CreateMenu(OpenMenu%,0,0)
  840ENDPROC
  850
  860DEFPROC_UserMessage
  870   IF B%!16=0 THEN Finished%=TRUE
  880ENDPROC
  890
  900DEFPROC_Init
  910   TaskName$="Sevens"
  920   SYS "Wimp_Initialise",310,&4B534154,TaskName$ TO ,TaskHandle%
  930   DIM B% &400
  940   DIM Tmp% &400
  950   DIM BarIcon% 32
  960   DIM BarMenu% &400
  970   DIM InfoBlk% &400
  980   DIM MainBlk% &1000
  990   DIM Ind% &200,IndEnd% -1:NxtInd%=Ind%
 1000   DIM ErrBlk% &100
 1010   DIM UserSprites% 40000
 1020   DIM SprNames% 71*12
 1030   DIM Card$(51)
 1040   DIM Pack%(51)
 1050   DIM Free%(3,1)
 1060   DIM U%(13)
 1070   !UserSprites%=39996
 1080   PROC_LoadSprites
 1090   Finished%=FALSE
 1100   GameStatus%=0
 1110   PROC_LoadTemplates
 1120   PROC_SetupSprNames
 1130   PROC_SetupIndIcons
 1140   PROC_CreateWindows
 1150   PassText%=!(MainBlk%+88+32*71+20)
 1160   PotText%=!(MainBlk%+88+32*69+20)
 1170   !BarIcon%=-1
 1180   BarIcon%!4=0
 1190   BarIcon%!8=0
 1200   BarIcon%!12=68
 1210   BarIcon%!16=68
 1220   BarIcon%!20=&301A
 1230   $(BarIcon%+24)="!sevens"
 1240   SYS "Wimp_CreateIcon",,BarIcon% TO BIconHandle%
 1250   PROC_NewMenu(BarMenu%,"Sevens")
 1260   PROC_AddMenuItem(BarMenu%,"Info",0,InfoHandle%)
 1270   PROC_AddMenuItem(BarMenu%,"Quit",0,-1)
 1280   !Tmp%=MainHandle%
 1290   Tmp%!4=71
 1300   SYS "Wimp_GetIconState",,Tmp%
 1310   Pxmin%=Tmp%!8
 1320   Pymin%=Tmp%!12
 1330   Pxmax%=Tmp%!16
 1340   Pymax%=Tmp%!20
 1350   PROC_MoveIconBy(71,1000,0)
 1360   PROC_NewDeal
 1370   PROC_OpenWindowH(MainHandle%)
 1380ENDPROC
 1390
 1400DEFPROC_InitPack
 1410LOCAL I%
 1420   FOR I%=0 TO 51
 1430      Pack%(I%)=I%
 1440   NEXT
 1450   Free%()=(6)
 1460ENDPROC
 1470
 1480DEFPROC_NewDeal
 1490LOCAL I%
 1500   PROC_InitPack
 1510   PROC_Shuffle
 1520   PROC_SortPack(0,12)
 1530   PROC_SortPack(13,25)
 1540   PROC_SortPack(26,38)
 1550   PROC_SortPack(39,51)
 1560   FOR I%=14 TO 26
 1570      !Tmp%=MainHandle%
 1580      Tmp%!4=I%
 1590      Tmp%!8=0
 1600      Tmp%!12=0
 1610      SYS "Wimp_GetIconState",,Tmp%
 1620      IF Tmp%!8>=1000 THEN PROC_MoveIconBy(I%,-1000,0)
 1630      PROC_IconSprite(I%,Card$(Pack%(I%-14)))
 1640   NEXT
 1650   !Tmp%=MainHandle%
 1660   Tmp%!4=71
 1670   Tmp%!8=0
 1680   Tmp%!12=0
 1690   SYS "Wimp_GetIconState",,Tmp%
 1700   IF Tmp%!8<1000 THEN PROC_MoveIconBy(71,1000,0)
 1710   FOR I%=27 TO 65
 1720      PROC_IconSprite(I%,"back")
 1730   NEXT
 1740   FOR I%=6 TO 13
 1750      PROC_IconSprite(I%,"")
 1760   NEXT
 1770   PROC_IconSprite(2,"bases")
 1780   PROC_IconSprite(3,"baseh")
 1790   PROC_IconSprite(4,"basec")
 1800   PROC_IconSprite(5,"based")
 1810   PROC_WhoStarts
 1820   PROC_IconSprite(P%+14,"")
 1830   PROC_RedrawPassText
 1840   Pot%=0
 1850   PROC_IncrementPot(0)
 1860   GameStatus%=1
 1870ENDPROC
 1880
 1890DEFPROC_SortPack(A%,B%)
 1900LOCAL I%,J%
 1910   FOR I%=A% TO B%-1
 1920      FOR J%=I%+1 TO B%
 1930         IF Pack%(J%)<Pack%(I%) THEN SWAP Pack%(J%),Pack%(I%)
 1940      NEXT
 1950   NEXT
 1960ENDPROC
 1970
 1980DEFPROC_Shuffle
 1990LOCAL I%
 2000   FOR I%=0 TO 51
 2010      SWAP Pack%(I%),Pack%(RND(52)-1)
 2020   NEXT
 2030ENDPROC
 2040
 2050DEFPROC_WhoStarts
 2060   P%=0
 2070   WHILE Pack%(P%)<>45
 2080      P%+=1
 2090   ENDWHILE
 2100   C%=Pack%(P%)
 2110   S%=C% DIV 13
 2120   R%=C% MOD 13
 2130   Turn%=P% DIV 13
 2140ENDPROC
 2150
 2160DEFPROC_UpdatePack
 2170LOCAL N%
 2180   Pack%(P%)=-1
 2190   IF R%=6 THEN Free%(S%,0)=5:Free%(S%,1)=7
 2200   IF R%<6 THEN Free%(S%,0)=R%-1
 2210   IF R%>6 THEN Free%(S%,1)=R%+1
 2220   FOR I%=Turn%*13 TO Turn%*13+12
 2230      N%+=Pack%(I%)
 2240   NEXT
 2250   IF N%=-13 THEN
 2260      CASE Turn% OF
 2270         WHEN 0:$PassText%="YOU WIN!!!"
 2280         WHEN 1:$PassText%="West Wins!"
 2290         WHEN 2:$PassText%="North Wins!"
 2300         WHEN 3:$PassText%="East Wins!"
 2310      ENDCASE
 2320      PROC_MoveIconBy(71,-1000,0)
 2330      PROC_RedrawPassText
 2340      GameStatus%=100
 2350   ENDIF
 2360ENDPROC
 2370
 2380DEFPROC_CompTurn
 2390LOCAL N%
 2400   N%=0
 2410   FOR P%=Turn%*13 TO Turn%*13+12
 2420      C%=Pack%(P%)
 2430      IF C%>=0 THEN
 2440         S%=C% DIV 13
 2450         R%=C% MOD 13
 2460         IF R%=Free%(S%,0) OR R%=Free%(S%,1) THEN N%+=1:U%(N%)=P%
 2470      ENDIF
 2480   NEXT
 2490   IF N%>0 THEN
 2500      IF N%=1 THEN P%=U%(1) ELSE P%=U%(RND(N%))
 2510      C%=Pack%(P%)
 2520      S%=C% DIV 13
 2530      R%=C% MOD 13
 2540      GameStatus%=1
 2550   ELSE
 2560      CASE Turn% OF
 2570         WHEN 0:$PassText%="South Passes!"
 2580         WHEN 1:$PassText%="West Passes!"
 2590         WHEN 2:$PassText%="North Passes!"
 2600         WHEN 3:$PassText%="East Passes!"
 2610      ENDCASE
 2620      PROC_IncrementPot(5)
 2630      GameStatus%=16
 2640   ENDIF
 2650ENDPROC
 2660
 2670DEFPROC_IncrementPot(n%)
 2680   Pot%+=n%
 2690   $PotText%="Pot:"+STR$Pot%
 2700   PROC_SetIconState(MainHandle%,69)
 2710ENDPROC
 2720
 2730DEFFN_CanGo
 2740LOCAL P%,C%,R%,S%,Go%
 2750   Go%=FALSE
 2760   FOR P%=Turn%*13 TO Turn%*13+12
 2770      C%=Pack%(P%)
 2780      IF C%>=0 THEN
 2790         S%=C% DIV 13
 2800         R%=C% MOD 13
 2810         IF R%=Free%(S%,0) OR R%=Free%(S%,1) THEN Go%=TRUE
 2820      ENDIF
 2830   NEXT
 2840=Go%
 2850
 2860DEFPROC_RedrawPassText
 2870   SYS "Wimp_ForceRedraw",MainHandle%,Pxmin%,Pymin%,Pxmax%,Pymax%
 2880ENDPROC
 2890
 2900DEFPROC_MoveIconBy(Ih%,x%,y%)
 2910   !Tmp%=MainHandle%
 2920   Tmp%!4=Ih%
 2930   SYS "Wimp_GetIconState",,Tmp%
 2940   SYS "Wimp_DeleteIcon",,Tmp%
 2950   Tmp%!4=MainHandle%
 2960   Tmp%!8+=x%
 2970   Tmp%!12+=y%
 2980   Tmp%!16+=x%
 2990   Tmp%!20+=y%
 3000   SYS "Wimp_CreateIcon",,Tmp%+4
 3010ENDPROC
 3020
 3030DEFPROC_SetIconState(Wh%,Ih%)
 3040   !Tmp%=Wh%
 3050   Tmp%!4=Ih%
 3060   Tmp%!8=0
 3070   Tmp%!12=0
 3080   SYS "Wimp_SetIconState",,Tmp%
 3090ENDPROC
 3100
 3110DEFPROC_SetupIndIcons
 3120LOCAL I%
 3130   FOR I%=2 TO 68
 3140      PROC_MakeIconIndSpr(I%,I%)
 3150   NEXT
 3160ENDPROC
 3170
 3180DEFPROC_MakeIconIndSpr(IHandle%,Spr%)
 3190LOCAL Id%
 3200   Id%=MainBlk%+88+IHandle%*32
 3210   Id%!16=(Id%!16 AND NOT%100000000) EOR %100000000
 3220   Id%!20=SprNames%+Spr%*12
 3230   Id%!24=UserSprites%
 3240   Id%!28=12
 3250ENDPROC
 3260
 3270DEFPROC_IconSprite(IHandle%,Spr$)
 3280   $(SprNames%+IHandle%*12)=Spr$
 3290   !Tmp%=MainHandle%
 3300   Tmp%!4=IHandle%
 3310   Tmp%!8=0
 3320   Tmp%!12=0
 3330   SYS "Wimp_SetIconState",,Tmp%
 3340   IF Spr$="" THEN
 3350      SYS "Wimp_GetIconState",,Tmp%
 3360      SYS "Wimp_ForceRedraw",!Tmp%,Tmp%!8,Tmp%!12,Tmp%!16,Tmp%!20
 3370   ENDIF
 3380ENDPROC
 3390
 3400DEFFN_GetIconSprite(IHandle%)
 3410=$(SprNames%+IHandle%*12)
 3420
 3430DEFPROC_NewMenu(MenuBlk%,Title$)
 3440   $MenuBlk%=Title$
 3450   MenuBlk%!12=&00070207
 3460   MenuBlk%!16=0
 3470   MenuBlk%!20=44
 3480   MenuBlk%!24=0
 3490   MenuBlk%!28=-1
 3500ENDPROC
 3510
 3520DEFPROC_AddMenuItem(MenuBlk%,Item$,Flags%,Ptr%)
 3530   IF MenuBlk%!16<LEN(Item$)*16+12 THEN MenuBlk%!16=LEN(Item$)*16+12
 3540   MenuBlk%+=28
 3550   IF !MenuBlk%<>-1 THEN
 3560      REPEAT
 3570         MenuBlk%+=24
 3580      UNTIL (MenuBlk%!-24 AND 128)=128
 3590      MenuBlk%!-24=MenuBlk%!-24 AND NOT128
 3600   ENDIF
 3610   !MenuBlk%=(Flags% OR 128)
 3620   MenuBlk%!4=Ptr%
 3630   MenuBlk%!8=&7009031
 3640   $(MenuBlk%+12)=Item$
 3650ENDPROC
 3660
 3670DEFPROC_OpenWindowH(Handle%)
 3680   !Tmp%=Handle%
 3690   SYS "Wimp_GetWindowState",,Tmp%
 3700   Tmp%!28=-1
 3710   SYS "Wimp_OpenWindow",,Tmp%
 3720ENDPROC
 3730
 3740DEFPROC_LoadTemplates
 3750   SYS "Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
 3760   SYS "Wimp_LoadTemplate",,InfoBlk%,NxtInd%,IndEnd%,-1,"ProgInfo",0 TO ,,NxtInd%
 3770   SYS "Wimp_LoadTemplate",,MainBlk%,NxtInd%,IndEnd%,-1,"Main",0 TO ,,NxtInd%
 3780   SYS "Wimp_CloseTemplate"
 3790ENDPROC
 3800
 3810DEFPROC_CreateWindows
 3820   SYS "Wimp_CreateWindow",,InfoBlk% TO InfoHandle%
 3830   SYS "Wimp_CreateWindow",,MainBlk% TO MainHandle%
 3840ENDPROC
 3850
 3860DEFPROC_Error(Error$)
 3870   !ErrBlk%=0
 3880   $(ErrBlk%+4)=Error$
 3890   SYS "Wimp_ReportError",ErrBlk%,0,TaskName$
 3900ENDPROC
 3910
 3920DEFPROC_CreateMenu(MenuBlk%,Xpos%,Ypos%)
 3930   OpenMenu%=MenuBlk%
 3940   SYS "Wimp_CreateMenu",,MenuBlk%,Xpos%,Ypos%
 3950ENDPROC
 3960
 3970DEFPROC_LoadSprites
 3980   SYS "OS_SpriteOp",256+10,UserSprites%,"<Obey$Dir>.Sprites"
 3990ENDPROC
 4000
 4010DEFPROC_SetupSprNames
 4020LOCAL I%
 4030   FOR I%=0 TO 51
 4040      Card$(I%)=STR$(I% MOD 13+1)+MID$("shcd",I% DIV 13+1,1)
 4050   NEXT
 4060   $(SprNames%+66*12)="newdeal"
 4070   $(SprNames%+67*12)="pass"
 4080   $(SprNames%+68*12)="pass"
 4090ENDPROC
 4100
 4110DEFFN_Str(A%)
 4120LOCAL A$
 4130   A$=""
 4140   WHILE ?A%>=32 AND LENA$<=255
 4150      A$+=CHR$?A%
 4160      A%+=1
 4170   ENDWHILE
 4180=A$

� > !RunImage

M� �_Error(�$+" at line "+Þ):ș "Wimp_CloseDown",TaskHandle%,&4B534154:�
(
2
�_Init
<
F�
P(   ș "OS_ReadMonotonicTime" � time%
Zp   ș "Wimp_PollIdle",%1100100110000-(GameStatus%<1 � GameStatus%>22 � GameStatus%=15),B%,time%+20 � Reason%
d   Ȏ Reason% �
n      � 0:�_Null
x      � 2:�_OpenWindow
�      � 3:�_CloseWindow
�      � 6:�_MouseClick
�      � 9:�_MenuSelection
�      � 17,18:�_UserMessage
�   �
�� Finished%
�
�-ș "Wimp_CloseDown",TaskHandle%,&4B534154
�
��
�
���_Null
�   Ȏ GameStatus% �
9      � 1,3,5,7:�_IconSprite(P%+14,""):GameStatus%+=1
>      � 2,4,6:�_IconSprite(P%+14,Card$(C%)):GameStatus%+=1
>      � 8,10,12:f$=�_GetIconSprite(S%+2-4*(R%<6)-8*(R%>6))
"E                   �_IconSprite(S%+2-4*(R%<6)-8*(R%>6),Card$(C%))
,%                   GameStatus%+=1
6G      � 9,11:�_IconSprite(S%+2-4*(R%<6)-8*(R%>6),f$):GameStatus%+=1
@*      � 13:�_UpdatePack:GameStatus%+=1
J"      � 14:Turn%=(Turn%+1) � 4
T:              � Turn%<>0 � �_CompTurn � GameStatus%+=1
^-      � 16,18,20:�_MoveIconBy(71,-1000,0)
h(                    �_RedrawPassText
r&                    GameStatus%+=1
|,      � 17,19,21:�_MoveIconBy(71,1000,0)
�(                    �_RedrawPassText
�&                    GameStatus%+=1
�      � 22:GameStatus%=14
�   �
�=   � GameStatus%=8 � Turn%=0 � �_MoveIconBy(P%+14,1000,0)
��
�
���_OpenWindow
�   ș "Wimp_OpenWindow",,B%
��
�
���_CloseWindow
�    ș "Wimp_CloseWindow",,B%
�

��_MouseClick
&%   ș "Wimp_GetPointerInfo",,Tmp%
0   But%=Tmp%!8
:C   � But%=2 � Tmp%!12=-2 � �_CreateMenu(BarMenu%,Tmp%!0-64,184)
D   � (But%=1 � But%=4) �
N3      � Tmp%!12=-2 � �_OpenWindowH(MainHandle%)
X"      � Tmp%!16=66 � �_NewDeal
b8      � (Tmp%!16=67 � Tmp%!16=68) � GameStatus%=15 �
l[         � ��_CanGo � GameStatus%=16:$PassText%="South Passes!":�_IncrementPot(5) � � 7
v      �
�8      � Tmp%!16>=14 � Tmp%!16<=26 � GameStatus%=15 �
�         P%=Tmp%!16-14
�         C%=Pack%(P%)
�         S%=C% � 13
�         R%=C% � 13
�D         � R%=Free%(S%,0) � R%=Free%(S%,1) � GameStatus%=1 � � 7
�      �
�   �
��
�
���_MenuSelection
�%   ș "Wimp_GetPointerInfo",,Tmp%
�   But%=Tmp%!8
.   ș "Wimp_DecodeMenu",,OpenMenu%,B%,Tmp%
   MenuSel$=$Tmp%
   Ȏ MenuSel$ �
       � "Quit"
*         Finished%=�
4   �
>-   � But%=1 � �_CreateMenu(OpenMenu%,0,0)
H�
R
\��_UserMessage
f   � B%!16=0 � Finished%=�
p�
z
���_Init
�   TaskName$="Sevens"
�B   ș "Wimp_Initialise",310,&4B534154,TaskName$ � ,TaskHandle%
�   � B% &400
�   � Tmp% &400
�   � BarIcon% 32
�   � BarMenu% &400
�   � InfoBlk% &400
�   � MainBlk% &1000
�*   � Ind% &200,IndEnd% -1:NxtInd%=Ind%
�   � ErrBlk% &100
�   � UserSprites% 40000
�   � SprNames% 71*12
   � Card$(51)
   � Pack%(51)
   � Free%(3,1)
$   � U%(13)
.   !UserSprites%=39996
8   �_LoadSprites
B   Finished%=�
L   GameStatus%=0
V   �_LoadTemplates
`   �_SetupSprNames
j   �_SetupIndIcons
t   �_CreateWindows
~(   PassText%=!(MainBlk%+88+32*71+20)
�'   PotText%=!(MainBlk%+88+32*69+20)
�   !BarIcon%=-1
�   BarIcon%!4=0
�   BarIcon%!8=0
�   BarIcon%!12=68
�   BarIcon%!16=68
�   BarIcon%!20=&301A
�   $(BarIcon%+24)="!sevens"
�4   ș "Wimp_CreateIcon",,BarIcon% � BIconHandle%
�#   �_NewMenu(BarMenu%,"Sevens")
�3   �_AddMenuItem(BarMenu%,"Info",0,InfoHandle%)
�*   �_AddMenuItem(BarMenu%,"Quit",0,-1)
   !Tmp%=MainHandle%

   Tmp%!4=71
#   ș "Wimp_GetIconState",,Tmp%
   Pxmin%=Tmp%!8
(   Pymin%=Tmp%!12
2   Pxmax%=Tmp%!16
<   Pymax%=Tmp%!20
F   �_MoveIconBy(71,1000,0)
P   �_NewDeal
Z!   �_OpenWindowH(MainHandle%)
d�
n
x��_InitPack
�� I%
�   � I%=0 � 51
�      Pack%(I%)=I%
�   �
�   Free%()=(6)
��
�
���_NewDeal
�� I%
�   �_InitPack
�   �_Shuffle
�   �_SortPack(0,12)
�   �_SortPack(13,25)
   �_SortPack(26,38)
   �_SortPack(39,51)
   � I%=14 � 26
"      !Tmp%=MainHandle%
,      Tmp%!4=I%
6      Tmp%!8=0
@      Tmp%!12=0
J&      ș "Wimp_GetIconState",,Tmp%
T3      � Tmp%!8>=1000 � �_MoveIconBy(I%,-1000,0)
^.      �_IconSprite(I%,Card$(Pack%(I%-14)))
h   �
r   !Tmp%=MainHandle%
|   Tmp%!4=71
�   Tmp%!8=0
�   Tmp%!12=0
�#   ș "Wimp_GetIconState",,Tmp%
�.   � Tmp%!8<1000 � �_MoveIconBy(71,1000,0)
�   � I%=27 � 65
�!      �_IconSprite(I%,"back")
�   �
�   � I%=6 � 13
�      �_IconSprite(I%,"")
�   �
�   �_IconSprite(2,"bases")
�   �_IconSprite(3,"baseh")
�   �_IconSprite(4,"basec")
   �_IconSprite(5,"based")
   �_WhoStarts
   �_IconSprite(P%+14,"")
&   �_RedrawPassText
0
   Pot%=0
:   �_IncrementPot(0)
D   GameStatus%=1
N�
X
b��_SortPack(A%,B%)
l� I%,J%
v   � I%=A% � B%-1
�      � J%=I%+1 � B%
�;         � Pack%(J%)<Pack%(I%) � Ȕ Pack%(J%),Pack%(I%)
�      �
�   �
��
�
���_Shuffle
�� I%
�   � I%=0 � 51
�%      Ȕ Pack%(I%),Pack%(�(52)-1)
�   �
��
�
��_WhoStarts
   P%=0
   ȕ Pack%(P%)<>45
       P%+=1
*   �
4   C%=Pack%(P%)
>   S%=C% � 13
H   R%=C% � 13
R   Turn%=P% � 13
\�
f
p��_UpdatePack
z� N%
�   Pack%(P%)=-1
�+   � R%=6 � Free%(S%,0)=5:Free%(S%,1)=7
�    � R%<6 � Free%(S%,0)=R%-1
�    � R%>6 � Free%(S%,1)=R%+1
�"   � I%=Turn%*13 � Turn%*13+12
�      N%+=Pack%(I%)
�   �
�   � N%=-13 �
�      Ȏ Turn% �
�(         � 0:$PassText%="YOU WIN!!!"
�(         � 1:$PassText%="West Wins!"
�)         � 2:$PassText%="North Wins!"
�(         � 3:$PassText%="East Wins!"
	      �
	"      �_MoveIconBy(71,-1000,0)
	      �_RedrawPassText
	$      GameStatus%=100
	.   �
	8�
	B
	L��_CompTurn
	V� N%
	`   N%=0
	j"   � P%=Turn%*13 � Turn%*13+12
	t      C%=Pack%(P%)
	~      � C%>=0 �
	�         S%=C% � 13
	�         R%=C% � 13
	�@         � R%=Free%(S%,0) � R%=Free%(S%,1) � N%+=1:U%(N%)=P%
	�      �
	�   �
	�   � N%>0 �
	�*      � N%=1 � P%=U%(1) � P%=U%(�(N%))
	�      C%=Pack%(P%)
	�      S%=C% � 13
	�      R%=C% � 13
	�      GameStatus%=1
	�   �
      Ȏ Turn% �

+         � 0:$PassText%="South Passes!"
*         � 1:$PassText%="West Passes!"
+         � 2:$PassText%="North Passes!"
(*         � 3:$PassText%="East Passes!"
2      �
<      �_IncrementPot(5)
F      GameStatus%=16
P   �
Z�
d
n��_IncrementPot(n%)
x   Pot%+=n%
�   $PotText%="Pot:"+�Pot%
�%   �_SetIconState(MainHandle%,69)
��
�
�ݤ_CanGo
�� P%,C%,R%,S%,Go%
�   Go%=�
�"   � P%=Turn%*13 � Turn%*13+12
�      C%=Pack%(P%)
�      � C%>=0 �
�         S%=C% � 13
�         R%=C% � 13
�6         � R%=Free%(S%,0) � R%=Free%(S%,1) � Go%=�
      �
   �
=Go%
"
,��_RedrawPassText
6D   ș "Wimp_ForceRedraw",MainHandle%,Pxmin%,Pymin%,Pxmax%,Pymax%
@�
J
T��_MoveIconBy(Ih%,x%,y%)
^   !Tmp%=MainHandle%
h   Tmp%!4=Ih%
r#   ș "Wimp_GetIconState",,Tmp%
|!   ș "Wimp_DeleteIcon",,Tmp%
�   Tmp%!4=MainHandle%
�   Tmp%!8+=x%
�   Tmp%!12+=y%
�   Tmp%!16+=x%
�   Tmp%!20+=y%
�#   ș "Wimp_CreateIcon",,Tmp%+4
��
�
���_SetIconState(Wh%,Ih%)
�   !Tmp%=Wh%
�   Tmp%!4=Ih%
�   Tmp%!8=0
�   Tmp%!12=0
#   ș "Wimp_SetIconState",,Tmp%
�

&��_SetupIndIcons
0� I%
:   � I%=2 � 68
D!      �_MakeIconIndSpr(I%,I%)
N   �
X�
b
l$��_MakeIconIndSpr(IHandle%,Spr%)
v	� Id%
�"   Id%=MainBlk%+88+IHandle%*32
�1   Id%!16=(Id%!16 � �%100000000) � %100000000
�   Id%!20=SprNames%+Spr%*12
�   Id%!24=UserSprites%
�   Id%!28=12
��
�
� ��_IconSprite(IHandle%,Spr$)
�$   $(SprNames%+IHandle%*12)=Spr$
�   !Tmp%=MainHandle%
�   Tmp%!4=IHandle%
�   Tmp%!8=0
�   Tmp%!12=0

#   ș "Wimp_SetIconState",,Tmp%

   � Spr$="" �

&      ș "Wimp_GetIconState",,Tmp%

 D      ș "Wimp_ForceRedraw",!Tmp%,Tmp%!8,Tmp%!12,Tmp%!16,Tmp%!20

*   �

4�

>

Hݤ_GetIconSprite(IHandle%)

R=$(SprNames%+IHandle%*12)

\

f��_NewMenu(MenuBlk%,Title$)

p   $MenuBlk%=Title$

z   MenuBlk%!12=&00070207

�   MenuBlk%!16=0

�   MenuBlk%!20=44

�   MenuBlk%!24=0

�   MenuBlk%!28=-1

��

�

�.��_AddMenuItem(MenuBlk%,Item$,Flags%,Ptr%)

�@   � MenuBlk%!16<�(Item$)*16+12 � MenuBlk%!16=�(Item$)*16+12

�   MenuBlk%+=28

�   � !MenuBlk%<>-1 �

�      �

�         MenuBlk%+=24

�$      � (MenuBlk%!-24 � 128)=128
*      MenuBlk%!-24=MenuBlk%!-24 � �128
   �
   !MenuBlk%=(Flags% � 128)
$   MenuBlk%!4=Ptr%
.   MenuBlk%!8=&7009031
8   $(MenuBlk%+12)=Item$
B�
L
V��_OpenWindowH(Handle%)
`   !Tmp%=Handle%
j%   ș "Wimp_GetWindowState",,Tmp%
t   Tmp%!28=-1
~!   ș "Wimp_OpenWindow",,Tmp%
��
�
���_LoadTemplates
�5   ș "Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
�S   ș "Wimp_LoadTemplate",,InfoBlk%,NxtInd%,IndEnd%,-1,"ProgInfo",0 � ,,NxtInd%
�O   ș "Wimp_LoadTemplate",,MainBlk%,NxtInd%,IndEnd%,-1,"Main",0 � ,,NxtInd%
�   ș "Wimp_CloseTemplate"
��
�
���_CreateWindows
�5   ș "Wimp_CreateWindow",,InfoBlk% � InfoHandle%
�5   ș "Wimp_CreateWindow",,MainBlk% � MainHandle%
�


��_Error(Error$)
   !ErrBlk%=0
(   $(ErrBlk%+4)=Error$
20   ș "Wimp_ReportError",ErrBlk%,0,TaskName$
<�
F
P'��_CreateMenu(MenuBlk%,Xpos%,Ypos%)
Z   OpenMenu%=MenuBlk%
d1   ș "Wimp_CreateMenu",,MenuBlk%,Xpos%,Ypos%
n�
x
���_LoadSprites
�@   ș "OS_SpriteOp",256+10,UserSprites%,"<Obey$Dir>.Sprites"
��
�
���_SetupSprNames
�� I%
�   � I%=0 � 51
�5      Card$(I%)=�(I% � 13+1)+�"shcd",I% � 13+1,1)
�   �
�#   $(SprNames%+66*12)="newdeal"
�    $(SprNames%+67*12)="pass"
�    $(SprNames%+68*12)="pass"
��

ݤ_Str(A%)
� A$
"   A$=""
,   ȕ ?A%>=32 � �A$<=255
6      A$+=�?A%
@      A%+=1
J   �
T=A$
�
00000000  0d 00 0a 11 f4 20 3e 20  21 52 75 6e 49 6d 61 67  |..... > !RunImag|
00000010  65 0d 00 14 04 0d 00 1e  4d ee 85 20 f2 5f 45 72  |e.......M.. ._Er|
00000020  72 6f 72 28 f6 24 2b 22  20 61 74 20 6c 69 6e 65  |ror(.$+" at line|
00000030  20 22 2b c3 9e 29 3a c8  99 20 22 57 69 6d 70 5f  | "+..):.. "Wimp_|
00000040  43 6c 6f 73 65 44 6f 77  6e 22 2c 54 61 73 6b 48  |CloseDown",TaskH|
00000050  61 6e 64 6c 65 25 2c 26  34 42 35 33 34 31 35 34  |andle%,&4B534154|
00000060  3a e0 0d 00 28 04 0d 00  32 0a f2 5f 49 6e 69 74  |:...(...2.._Init|
00000070  0d 00 3c 04 0d 00 46 05  f5 0d 00 50 28 20 20 20  |..<...F....P(   |
00000080  c8 99 20 22 4f 53 5f 52  65 61 64 4d 6f 6e 6f 74  |.. "OS_ReadMonot|
00000090  6f 6e 69 63 54 69 6d 65  22 20 b8 20 74 69 6d 65  |onicTime" . time|
000000a0  25 0d 00 5a 70 20 20 20  c8 99 20 22 57 69 6d 70  |%..Zp   .. "Wimp|
000000b0  5f 50 6f 6c 6c 49 64 6c  65 22 2c 25 31 31 30 30  |_PollIdle",%1100|
000000c0  31 30 30 31 31 30 30 30  30 2d 28 47 61 6d 65 53  |100110000-(GameS|
000000d0  74 61 74 75 73 25 3c 31  20 84 20 47 61 6d 65 53  |tatus%<1 . GameS|
000000e0  74 61 74 75 73 25 3e 32  32 20 84 20 47 61 6d 65  |tatus%>22 . Game|
000000f0  53 74 61 74 75 73 25 3d  31 35 29 2c 42 25 2c 74  |Status%=15),B%,t|
00000100  69 6d 65 25 2b 32 30 20  b8 20 52 65 61 73 6f 6e  |ime%+20 . Reason|
00000110  25 0d 00 64 13 20 20 20  c8 8e 20 52 65 61 73 6f  |%..d.   .. Reaso|
00000120  6e 25 20 ca 0d 00 6e 14  20 20 20 20 20 20 c9 20  |n% ...n.      . |
00000130  30 3a f2 5f 4e 75 6c 6c  0d 00 78 1a 20 20 20 20  |0:._Null..x.    |
00000140  20 20 c9 20 32 3a f2 5f  4f 70 65 6e 57 69 6e 64  |  . 2:._OpenWind|
00000150  6f 77 0d 00 82 1b 20 20  20 20 20 20 c9 20 33 3a  |ow....      . 3:|
00000160  f2 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 0d 00 8c  |._CloseWindow...|
00000170  1a 20 20 20 20 20 20 c9  20 36 3a f2 5f 4d 6f 75  |.      . 6:._Mou|
00000180  73 65 43 6c 69 63 6b 0d  00 96 1d 20 20 20 20 20  |seClick....     |
00000190  20 c9 20 39 3a f2 5f 4d  65 6e 75 53 65 6c 65 63  | . 9:._MenuSelec|
000001a0  74 69 6f 6e 0d 00 a0 1f  20 20 20 20 20 20 c9 20  |tion....      . |
000001b0  31 37 2c 31 38 3a f2 5f  55 73 65 72 4d 65 73 73  |17,18:._UserMess|
000001c0  61 67 65 0d 00 aa 08 20  20 20 cb 0d 00 b4 0f fd  |age....   ......|
000001d0  20 46 69 6e 69 73 68 65  64 25 0d 00 be 04 0d 00  | Finished%......|
000001e0  c8 2d c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |.-.. "Wimp_Close|
000001f0  44 6f 77 6e 22 2c 54 61  73 6b 48 61 6e 64 6c 65  |Down",TaskHandle|
00000200  25 2c 26 34 42 35 33 34  31 35 34 0d 00 d2 04 0d  |%,&4B534154.....|
00000210  00 dc 05 e0 0d 00 e6 04  0d 00 f0 0b dd f2 5f 4e  |.............._N|
00000220  75 6c 6c 0d 00 fa 17 20  20 20 c8 8e 20 47 61 6d  |ull....   .. Gam|
00000230  65 53 74 61 74 75 73 25  20 ca 0d 01 04 39 20 20  |eStatus% ....9  |
00000240  20 20 20 20 c9 20 31 2c  33 2c 35 2c 37 3a f2 5f  |    . 1,3,5,7:._|
00000250  49 63 6f 6e 53 70 72 69  74 65 28 50 25 2b 31 34  |IconSprite(P%+14|
00000260  2c 22 22 29 3a 47 61 6d  65 53 74 61 74 75 73 25  |,""):GameStatus%|
00000270  2b 3d 31 0d 01 0e 3e 20  20 20 20 20 20 c9 20 32  |+=1...>      . 2|
00000280  2c 34 2c 36 3a f2 5f 49  63 6f 6e 53 70 72 69 74  |,4,6:._IconSprit|
00000290  65 28 50 25 2b 31 34 2c  43 61 72 64 24 28 43 25  |e(P%+14,Card$(C%|
000002a0  29 29 3a 47 61 6d 65 53  74 61 74 75 73 25 2b 3d  |)):GameStatus%+=|
000002b0  31 0d 01 18 3e 20 20 20  20 20 20 c9 20 38 2c 31  |1...>      . 8,1|
000002c0  30 2c 31 32 3a 66 24 3d  a4 5f 47 65 74 49 63 6f  |0,12:f$=._GetIco|
000002d0  6e 53 70 72 69 74 65 28  53 25 2b 32 2d 34 2a 28  |nSprite(S%+2-4*(|
000002e0  52 25 3c 36 29 2d 38 2a  28 52 25 3e 36 29 29 0d  |R%<6)-8*(R%>6)).|
000002f0  01 22 45 20 20 20 20 20  20 20 20 20 20 20 20 20  |."E             |
00000300  20 20 20 20 20 20 f2 5f  49 63 6f 6e 53 70 72 69  |      ._IconSpri|
00000310  74 65 28 53 25 2b 32 2d  34 2a 28 52 25 3c 36 29  |te(S%+2-4*(R%<6)|
00000320  2d 38 2a 28 52 25 3e 36  29 2c 43 61 72 64 24 28  |-8*(R%>6),Card$(|
00000330  43 25 29 29 0d 01 2c 25  20 20 20 20 20 20 20 20  |C%))..,%        |
00000340  20 20 20 20 20 20 20 20  20 20 20 47 61 6d 65 53  |           GameS|
00000350  74 61 74 75 73 25 2b 3d  31 0d 01 36 47 20 20 20  |tatus%+=1..6G   |
00000360  20 20 20 c9 20 39 2c 31  31 3a f2 5f 49 63 6f 6e  |   . 9,11:._Icon|
00000370  53 70 72 69 74 65 28 53  25 2b 32 2d 34 2a 28 52  |Sprite(S%+2-4*(R|
00000380  25 3c 36 29 2d 38 2a 28  52 25 3e 36 29 2c 66 24  |%<6)-8*(R%>6),f$|
00000390  29 3a 47 61 6d 65 53 74  61 74 75 73 25 2b 3d 31  |):GameStatus%+=1|
000003a0  0d 01 40 2a 20 20 20 20  20 20 c9 20 31 33 3a f2  |..@*      . 13:.|
000003b0  5f 55 70 64 61 74 65 50  61 63 6b 3a 47 61 6d 65  |_UpdatePack:Game|
000003c0  53 74 61 74 75 73 25 2b  3d 31 0d 01 4a 22 20 20  |Status%+=1..J"  |
000003d0  20 20 20 20 c9 20 31 34  3a 54 75 72 6e 25 3d 28  |    . 14:Turn%=(|
000003e0  54 75 72 6e 25 2b 31 29  20 83 20 34 0d 01 54 3a  |Turn%+1) . 4..T:|
000003f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |              . |
00000400  54 75 72 6e 25 3c 3e 30  20 8c 20 f2 5f 43 6f 6d  |Turn%<>0 . ._Com|
00000410  70 54 75 72 6e 20 8b 20  47 61 6d 65 53 74 61 74  |pTurn . GameStat|
00000420  75 73 25 2b 3d 31 0d 01  5e 2d 20 20 20 20 20 20  |us%+=1..^-      |
00000430  c9 20 31 36 2c 31 38 2c  32 30 3a f2 5f 4d 6f 76  |. 16,18,20:._Mov|
00000440  65 49 63 6f 6e 42 79 28  37 31 2c 2d 31 30 30 30  |eIconBy(71,-1000|
00000450  2c 30 29 0d 01 68 28 20  20 20 20 20 20 20 20 20  |,0)..h(         |
00000460  20 20 20 20 20 20 20 20  20 20 20 f2 5f 52 65 64  |           ._Red|
00000470  72 61 77 50 61 73 73 54  65 78 74 0d 01 72 26 20  |rawPassText..r& |
00000480  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000490  20 20 20 47 61 6d 65 53  74 61 74 75 73 25 2b 3d  |   GameStatus%+=|
000004a0  31 0d 01 7c 2c 20 20 20  20 20 20 c9 20 31 37 2c  |1..|,      . 17,|
000004b0  31 39 2c 32 31 3a f2 5f  4d 6f 76 65 49 63 6f 6e  |19,21:._MoveIcon|
000004c0  42 79 28 37 31 2c 31 30  30 30 2c 30 29 0d 01 86  |By(71,1000,0)...|
000004d0  28 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |(               |
000004e0  20 20 20 20 20 f2 5f 52  65 64 72 61 77 50 61 73  |     ._RedrawPas|
000004f0  73 54 65 78 74 0d 01 90  26 20 20 20 20 20 20 20  |sText...&       |
00000500  20 20 20 20 20 20 20 20  20 20 20 20 20 47 61 6d  |             Gam|
00000510  65 53 74 61 74 75 73 25  2b 3d 31 0d 01 9a 1d 20  |eStatus%+=1.... |
00000520  20 20 20 20 20 c9 20 32  32 3a 47 61 6d 65 53 74  |     . 22:GameSt|
00000530  61 74 75 73 25 3d 31 34  0d 01 a4 08 20 20 20 cb  |atus%=14....   .|
00000540  0d 01 ae 3d 20 20 20 e7  20 47 61 6d 65 53 74 61  |...=   . GameSta|
00000550  74 75 73 25 3d 38 20 80  20 54 75 72 6e 25 3d 30  |tus%=8 . Turn%=0|
00000560  20 8c 20 f2 5f 4d 6f 76  65 49 63 6f 6e 42 79 28  | . ._MoveIconBy(|
00000570  50 25 2b 31 34 2c 31 30  30 30 2c 30 29 0d 01 b8  |P%+14,1000,0)...|
00000580  05 e1 0d 01 c2 04 0d 01  cc 11 dd f2 5f 4f 70 65  |............_Ope|
00000590  6e 57 69 6e 64 6f 77 0d  01 d6 1f 20 20 20 c8 99  |nWindow....   ..|
000005a0  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
000005b0  77 22 2c 2c 42 25 0d 01  e0 05 e1 0d 01 ea 04 0d  |w",,B%..........|
000005c0  01 f4 12 dd f2 5f 43 6c  6f 73 65 57 69 6e 64 6f  |....._CloseWindo|
000005d0  77 0d 01 fe 20 20 20 20  c8 99 20 22 57 69 6d 70  |w...    .. "Wimp|
000005e0  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 42  |_CloseWindow",,B|
000005f0  25 0d 02 08 05 e1 0d 02  12 04 0d 02 1c 11 dd f2  |%...............|
00000600  5f 4d 6f 75 73 65 43 6c  69 63 6b 0d 02 26 25 20  |_MouseClick..&% |
00000610  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 50 6f  |  .. "Wimp_GetPo|
00000620  69 6e 74 65 72 49 6e 66  6f 22 2c 2c 54 6d 70 25  |interInfo",,Tmp%|
00000630  0d 02 30 12 20 20 20 42  75 74 25 3d 54 6d 70 25  |..0.   But%=Tmp%|
00000640  21 38 0d 02 3a 43 20 20  20 e7 20 42 75 74 25 3d  |!8..:C   . But%=|
00000650  32 20 80 20 54 6d 70 25  21 31 32 3d 2d 32 20 8c  |2 . Tmp%!12=-2 .|
00000660  20 f2 5f 43 72 65 61 74  65 4d 65 6e 75 28 42 61  | ._CreateMenu(Ba|
00000670  72 4d 65 6e 75 25 2c 54  6d 70 25 21 30 2d 36 34  |rMenu%,Tmp%!0-64|
00000680  2c 31 38 34 29 0d 02 44  1c 20 20 20 e7 20 28 42  |,184)..D.   . (B|
00000690  75 74 25 3d 31 20 84 20  42 75 74 25 3d 34 29 20  |ut%=1 . But%=4) |
000006a0  8c 0d 02 4e 33 20 20 20  20 20 20 e7 20 54 6d 70  |...N3      . Tmp|
000006b0  25 21 31 32 3d 2d 32 20  8c 20 f2 5f 4f 70 65 6e  |%!12=-2 . ._Open|
000006c0  57 69 6e 64 6f 77 48 28  4d 61 69 6e 48 61 6e 64  |WindowH(MainHand|
000006d0  6c 65 25 29 0d 02 58 22  20 20 20 20 20 20 e7 20  |le%)..X"      . |
000006e0  54 6d 70 25 21 31 36 3d  36 36 20 8c 20 f2 5f 4e  |Tmp%!16=66 . ._N|
000006f0  65 77 44 65 61 6c 0d 02  62 38 20 20 20 20 20 20  |ewDeal..b8      |
00000700  e7 20 28 54 6d 70 25 21  31 36 3d 36 37 20 84 20  |. (Tmp%!16=67 . |
00000710  54 6d 70 25 21 31 36 3d  36 38 29 20 80 20 47 61  |Tmp%!16=68) . Ga|
00000720  6d 65 53 74 61 74 75 73  25 3d 31 35 20 8c 0d 02  |meStatus%=15 ...|
00000730  6c 5b 20 20 20 20 20 20  20 20 20 e7 20 ac a4 5f  |l[         . .._|
00000740  43 61 6e 47 6f 20 8c 20  47 61 6d 65 53 74 61 74  |CanGo . GameStat|
00000750  75 73 25 3d 31 36 3a 24  50 61 73 73 54 65 78 74  |us%=16:$PassText|
00000760  25 3d 22 53 6f 75 74 68  20 50 61 73 73 65 73 21  |%="South Passes!|
00000770  22 3a f2 5f 49 6e 63 72  65 6d 65 6e 74 50 6f 74  |":._IncrementPot|
00000780  28 35 29 20 8b 20 ef 20  37 0d 02 76 0b 20 20 20  |(5) . . 7..v.   |
00000790  20 20 20 cd 0d 02 80 38  20 20 20 20 20 20 e7 20  |   ....8      . |
000007a0  54 6d 70 25 21 31 36 3e  3d 31 34 20 80 20 54 6d  |Tmp%!16>=14 . Tm|
000007b0  70 25 21 31 36 3c 3d 32  36 20 80 20 47 61 6d 65  |p%!16<=26 . Game|
000007c0  53 74 61 74 75 73 25 3d  31 35 20 8c 0d 02 8a 1a  |Status%=15 .....|
000007d0  20 20 20 20 20 20 20 20  20 50 25 3d 54 6d 70 25  |         P%=Tmp%|
000007e0  21 31 36 2d 31 34 0d 02  94 19 20 20 20 20 20 20  |!16-14....      |
000007f0  20 20 20 43 25 3d 50 61  63 6b 25 28 50 25 29 0d  |   C%=Pack%(P%).|
00000800  02 9e 17 20 20 20 20 20  20 20 20 20 53 25 3d 43  |...         S%=C|
00000810  25 20 81 20 31 33 0d 02  a8 17 20 20 20 20 20 20  |% . 13....      |
00000820  20 20 20 52 25 3d 43 25  20 83 20 31 33 0d 02 b2  |   R%=C% . 13...|
00000830  44 20 20 20 20 20 20 20  20 20 e7 20 52 25 3d 46  |D         . R%=F|
00000840  72 65 65 25 28 53 25 2c  30 29 20 84 20 52 25 3d  |ree%(S%,0) . R%=|
00000850  46 72 65 65 25 28 53 25  2c 31 29 20 8c 20 47 61  |Free%(S%,1) . Ga|
00000860  6d 65 53 74 61 74 75 73  25 3d 31 20 8b 20 ef 20  |meStatus%=1 . . |
00000870  37 0d 02 bc 0b 20 20 20  20 20 20 cd 0d 02 c6 08  |7....      .....|
00000880  20 20 20 cd 0d 02 d0 05  e1 0d 02 da 04 0d 02 e4  |   .............|
00000890  14 dd f2 5f 4d 65 6e 75  53 65 6c 65 63 74 69 6f  |..._MenuSelectio|
000008a0  6e 0d 02 ee 25 20 20 20  c8 99 20 22 57 69 6d 70  |n...%   .. "Wimp|
000008b0  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
000008c0  2c 2c 54 6d 70 25 0d 02  f8 12 20 20 20 42 75 74  |,,Tmp%....   But|
000008d0  25 3d 54 6d 70 25 21 38  0d 03 02 2e 20 20 20 c8  |%=Tmp%!8....   .|
000008e0  99 20 22 57 69 6d 70 5f  44 65 63 6f 64 65 4d 65  |. "Wimp_DecodeMe|
000008f0  6e 75 22 2c 2c 4f 70 65  6e 4d 65 6e 75 25 2c 42  |nu",,OpenMenu%,B|
00000900  25 2c 54 6d 70 25 0d 03  0c 15 20 20 20 4d 65 6e  |%,Tmp%....   Men|
00000910  75 53 65 6c 24 3d 24 54  6d 70 25 0d 03 16 14 20  |uSel$=$Tmp%.... |
00000920  20 20 c8 8e 20 4d 65 6e  75 53 65 6c 24 20 ca 0d  |  .. MenuSel$ ..|
00000930  03 20 12 20 20 20 20 20  20 c9 20 22 51 75 69 74  |. .      . "Quit|
00000940  22 0d 03 2a 18 20 20 20  20 20 20 20 20 20 46 69  |"..*.         Fi|
00000950  6e 69 73 68 65 64 25 3d  b9 0d 03 34 08 20 20 20  |nished%=...4.   |
00000960  cb 0d 03 3e 2d 20 20 20  e7 20 42 75 74 25 3d 31  |...>-   . But%=1|
00000970  20 8c 20 f2 5f 43 72 65  61 74 65 4d 65 6e 75 28  | . ._CreateMenu(|
00000980  4f 70 65 6e 4d 65 6e 75  25 2c 30 2c 30 29 0d 03  |OpenMenu%,0,0)..|
00000990  48 05 e1 0d 03 52 04 0d  03 5c 12 dd f2 5f 55 73  |H....R...\..._Us|
000009a0  65 72 4d 65 73 73 61 67  65 0d 03 66 1e 20 20 20  |erMessage..f.   |
000009b0  e7 20 42 25 21 31 36 3d  30 20 8c 20 46 69 6e 69  |. B%!16=0 . Fini|
000009c0  73 68 65 64 25 3d b9 0d  03 70 05 e1 0d 03 7a 04  |shed%=...p....z.|
000009d0  0d 03 84 0b dd f2 5f 49  6e 69 74 0d 03 8e 19 20  |......_Init.... |
000009e0  20 20 54 61 73 6b 4e 61  6d 65 24 3d 22 53 65 76  |  TaskName$="Sev|
000009f0  65 6e 73 22 0d 03 98 42  20 20 20 c8 99 20 22 57  |ens"...B   .. "W|
00000a00  69 6d 70 5f 49 6e 69 74  69 61 6c 69 73 65 22 2c  |imp_Initialise",|
00000a10  33 31 30 2c 26 34 42 35  33 34 31 35 34 2c 54 61  |310,&4B534154,Ta|
00000a20  73 6b 4e 61 6d 65 24 20  b8 20 2c 54 61 73 6b 48  |skName$ . ,TaskH|
00000a30  61 6e 64 6c 65 25 0d 03  a2 10 20 20 20 de 20 42  |andle%....   . B|
00000a40  25 20 26 34 30 30 0d 03  ac 12 20 20 20 de 20 54  |% &400....   . T|
00000a50  6d 70 25 20 26 34 30 30  0d 03 b6 14 20 20 20 de  |mp% &400....   .|
00000a60  20 42 61 72 49 63 6f 6e  25 20 33 32 0d 03 c0 16  | BarIcon% 32....|
00000a70  20 20 20 de 20 42 61 72  4d 65 6e 75 25 20 26 34  |   . BarMenu% &4|
00000a80  30 30 0d 03 ca 16 20 20  20 de 20 49 6e 66 6f 42  |00....   . InfoB|
00000a90  6c 6b 25 20 26 34 30 30  0d 03 d4 17 20 20 20 de  |lk% &400....   .|
00000aa0  20 4d 61 69 6e 42 6c 6b  25 20 26 31 30 30 30 0d  | MainBlk% &1000.|
00000ab0  03 de 2a 20 20 20 de 20  49 6e 64 25 20 26 32 30  |..*   . Ind% &20|
00000ac0  30 2c 49 6e 64 45 6e 64  25 20 2d 31 3a 4e 78 74  |0,IndEnd% -1:Nxt|
00000ad0  49 6e 64 25 3d 49 6e 64  25 0d 03 e8 15 20 20 20  |Ind%=Ind%....   |
00000ae0  de 20 45 72 72 42 6c 6b  25 20 26 31 30 30 0d 03  |. ErrBlk% &100..|
00000af0  f2 1b 20 20 20 de 20 55  73 65 72 53 70 72 69 74  |..   . UserSprit|
00000b00  65 73 25 20 34 30 30 30  30 0d 03 fc 18 20 20 20  |es% 40000....   |
00000b10  de 20 53 70 72 4e 61 6d  65 73 25 20 37 31 2a 31  |. SprNames% 71*1|
00000b20  32 0d 04 06 12 20 20 20  de 20 43 61 72 64 24 28  |2....   . Card$(|
00000b30  35 31 29 0d 04 10 12 20  20 20 de 20 50 61 63 6b  |51)....   . Pack|
00000b40  25 28 35 31 29 0d 04 1a  13 20 20 20 de 20 46 72  |%(51)....   . Fr|
00000b50  65 65 25 28 33 2c 31 29  0d 04 24 0f 20 20 20 de  |ee%(3,1)..$.   .|
00000b60  20 55 25 28 31 33 29 0d  04 2e 1a 20 20 20 21 55  | U%(13)....   !U|
00000b70  73 65 72 53 70 72 69 74  65 73 25 3d 33 39 39 39  |serSprites%=3999|
00000b80  36 0d 04 38 14 20 20 20  f2 5f 4c 6f 61 64 53 70  |6..8.   ._LoadSp|
00000b90  72 69 74 65 73 0d 04 42  12 20 20 20 46 69 6e 69  |rites..B.   Fini|
00000ba0  73 68 65 64 25 3d a3 0d  04 4c 14 20 20 20 47 61  |shed%=...L.   Ga|
00000bb0  6d 65 53 74 61 74 75 73  25 3d 30 0d 04 56 16 20  |meStatus%=0..V. |
00000bc0  20 20 f2 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |  ._LoadTemplate|
00000bd0  73 0d 04 60 16 20 20 20  f2 5f 53 65 74 75 70 53  |s..`.   ._SetupS|
00000be0  70 72 4e 61 6d 65 73 0d  04 6a 16 20 20 20 f2 5f  |prNames..j.   ._|
00000bf0  53 65 74 75 70 49 6e 64  49 63 6f 6e 73 0d 04 74  |SetupIndIcons..t|
00000c00  16 20 20 20 f2 5f 43 72  65 61 74 65 57 69 6e 64  |.   ._CreateWind|
00000c10  6f 77 73 0d 04 7e 28 20  20 20 50 61 73 73 54 65  |ows..~(   PassTe|
00000c20  78 74 25 3d 21 28 4d 61  69 6e 42 6c 6b 25 2b 38  |xt%=!(MainBlk%+8|
00000c30  38 2b 33 32 2a 37 31 2b  32 30 29 0d 04 88 27 20  |8+32*71+20)...' |
00000c40  20 20 50 6f 74 54 65 78  74 25 3d 21 28 4d 61 69  |  PotText%=!(Mai|
00000c50  6e 42 6c 6b 25 2b 38 38  2b 33 32 2a 36 39 2b 32  |nBlk%+88+32*69+2|
00000c60  30 29 0d 04 92 13 20 20  20 21 42 61 72 49 63 6f  |0)....   !BarIco|
00000c70  6e 25 3d 2d 31 0d 04 9c  13 20 20 20 42 61 72 49  |n%=-1....   BarI|
00000c80  63 6f 6e 25 21 34 3d 30  0d 04 a6 13 20 20 20 42  |con%!4=0....   B|
00000c90  61 72 49 63 6f 6e 25 21  38 3d 30 0d 04 b0 15 20  |arIcon%!8=0.... |
00000ca0  20 20 42 61 72 49 63 6f  6e 25 21 31 32 3d 36 38  |  BarIcon%!12=68|
00000cb0  0d 04 ba 15 20 20 20 42  61 72 49 63 6f 6e 25 21  |....   BarIcon%!|
00000cc0  31 36 3d 36 38 0d 04 c4  18 20 20 20 42 61 72 49  |16=68....   BarI|
00000cd0  63 6f 6e 25 21 32 30 3d  26 33 30 31 41 0d 04 ce  |con%!20=&301A...|
00000ce0  1f 20 20 20 24 28 42 61  72 49 63 6f 6e 25 2b 32  |.   $(BarIcon%+2|
00000cf0  34 29 3d 22 21 73 65 76  65 6e 73 22 0d 04 d8 34  |4)="!sevens"...4|
00000d00  20 20 20 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |   .. "Wimp_Crea|
00000d10  74 65 49 63 6f 6e 22 2c  2c 42 61 72 49 63 6f 6e  |teIcon",,BarIcon|
00000d20  25 20 b8 20 42 49 63 6f  6e 48 61 6e 64 6c 65 25  |% . BIconHandle%|
00000d30  0d 04 e2 23 20 20 20 f2  5f 4e 65 77 4d 65 6e 75  |...#   ._NewMenu|
00000d40  28 42 61 72 4d 65 6e 75  25 2c 22 53 65 76 65 6e  |(BarMenu%,"Seven|
00000d50  73 22 29 0d 04 ec 33 20  20 20 f2 5f 41 64 64 4d  |s")...3   ._AddM|
00000d60  65 6e 75 49 74 65 6d 28  42 61 72 4d 65 6e 75 25  |enuItem(BarMenu%|
00000d70  2c 22 49 6e 66 6f 22 2c  30 2c 49 6e 66 6f 48 61  |,"Info",0,InfoHa|
00000d80  6e 64 6c 65 25 29 0d 04  f6 2a 20 20 20 f2 5f 41  |ndle%)...*   ._A|
00000d90  64 64 4d 65 6e 75 49 74  65 6d 28 42 61 72 4d 65  |ddMenuItem(BarMe|
00000da0  6e 75 25 2c 22 51 75 69  74 22 2c 30 2c 2d 31 29  |nu%,"Quit",0,-1)|
00000db0  0d 05 00 18 20 20 20 21  54 6d 70 25 3d 4d 61 69  |....   !Tmp%=Mai|
00000dc0  6e 48 61 6e 64 6c 65 25  0d 05 0a 10 20 20 20 54  |nHandle%....   T|
00000dd0  6d 70 25 21 34 3d 37 31  0d 05 14 23 20 20 20 c8  |mp%!4=71...#   .|
00000de0  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00000df0  74 61 74 65 22 2c 2c 54  6d 70 25 0d 05 1e 14 20  |tate",,Tmp%.... |
00000e00  20 20 50 78 6d 69 6e 25  3d 54 6d 70 25 21 38 0d  |  Pxmin%=Tmp%!8.|
00000e10  05 28 15 20 20 20 50 79  6d 69 6e 25 3d 54 6d 70  |.(.   Pymin%=Tmp|
00000e20  25 21 31 32 0d 05 32 15  20 20 20 50 78 6d 61 78  |%!12..2.   Pxmax|
00000e30  25 3d 54 6d 70 25 21 31  36 0d 05 3c 15 20 20 20  |%=Tmp%!16..<.   |
00000e40  50 79 6d 61 78 25 3d 54  6d 70 25 21 32 30 0d 05  |Pymax%=Tmp%!20..|
00000e50  46 1e 20 20 20 f2 5f 4d  6f 76 65 49 63 6f 6e 42  |F.   ._MoveIconB|
00000e60  79 28 37 31 2c 31 30 30  30 2c 30 29 0d 05 50 10  |y(71,1000,0)..P.|
00000e70  20 20 20 f2 5f 4e 65 77  44 65 61 6c 0d 05 5a 21  |   ._NewDeal..Z!|
00000e80  20 20 20 f2 5f 4f 70 65  6e 57 69 6e 64 6f 77 48  |   ._OpenWindowH|
00000e90  28 4d 61 69 6e 48 61 6e  64 6c 65 25 29 0d 05 64  |(MainHandle%)..d|
00000ea0  05 e1 0d 05 6e 04 0d 05  78 0f dd f2 5f 49 6e 69  |....n...x..._Ini|
00000eb0  74 50 61 63 6b 0d 05 82  08 ea 20 49 25 0d 05 8c  |tPack..... I%...|
00000ec0  12 20 20 20 e3 20 49 25  3d 30 20 b8 20 35 31 0d  |.   . I%=0 . 51.|
00000ed0  05 96 16 20 20 20 20 20  20 50 61 63 6b 25 28 49  |...      Pack%(I|
00000ee0  25 29 3d 49 25 0d 05 a0  08 20 20 20 ed 0d 05 aa  |%)=I%....   ....|
00000ef0  12 20 20 20 46 72 65 65  25 28 29 3d 28 36 29 0d  |.   Free%()=(6).|
00000f00  05 b4 05 e1 0d 05 be 04  0d 05 c8 0e dd f2 5f 4e  |.............._N|
00000f10  65 77 44 65 61 6c 0d 05  d2 08 ea 20 49 25 0d 05  |ewDeal..... I%..|
00000f20  dc 11 20 20 20 f2 5f 49  6e 69 74 50 61 63 6b 0d  |..   ._InitPack.|
00000f30  05 e6 10 20 20 20 f2 5f  53 68 75 66 66 6c 65 0d  |...   ._Shuffle.|
00000f40  05 f0 17 20 20 20 f2 5f  53 6f 72 74 50 61 63 6b  |...   ._SortPack|
00000f50  28 30 2c 31 32 29 0d 05  fa 18 20 20 20 f2 5f 53  |(0,12)....   ._S|
00000f60  6f 72 74 50 61 63 6b 28  31 33 2c 32 35 29 0d 06  |ortPack(13,25)..|
00000f70  04 18 20 20 20 f2 5f 53  6f 72 74 50 61 63 6b 28  |..   ._SortPack(|
00000f80  32 36 2c 33 38 29 0d 06  0e 18 20 20 20 f2 5f 53  |26,38)....   ._S|
00000f90  6f 72 74 50 61 63 6b 28  33 39 2c 35 31 29 0d 06  |ortPack(39,51)..|
00000fa0  18 13 20 20 20 e3 20 49  25 3d 31 34 20 b8 20 32  |..   . I%=14 . 2|
00000fb0  36 0d 06 22 1b 20 20 20  20 20 20 21 54 6d 70 25  |6..".      !Tmp%|
00000fc0  3d 4d 61 69 6e 48 61 6e  64 6c 65 25 0d 06 2c 13  |=MainHandle%..,.|
00000fd0  20 20 20 20 20 20 54 6d  70 25 21 34 3d 49 25 0d  |      Tmp%!4=I%.|
00000fe0  06 36 12 20 20 20 20 20  20 54 6d 70 25 21 38 3d  |.6.      Tmp%!8=|
00000ff0  30 0d 06 40 13 20 20 20  20 20 20 54 6d 70 25 21  |0..@.      Tmp%!|
00001000  31 32 3d 30 0d 06 4a 26  20 20 20 20 20 20 c8 99  |12=0..J&      ..|
00001010  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00001020  61 74 65 22 2c 2c 54 6d  70 25 0d 06 54 33 20 20  |ate",,Tmp%..T3  |
00001030  20 20 20 20 e7 20 54 6d  70 25 21 38 3e 3d 31 30  |    . Tmp%!8>=10|
00001040  30 30 20 8c 20 f2 5f 4d  6f 76 65 49 63 6f 6e 42  |00 . ._MoveIconB|
00001050  79 28 49 25 2c 2d 31 30  30 30 2c 30 29 0d 06 5e  |y(I%,-1000,0)..^|
00001060  2e 20 20 20 20 20 20 f2  5f 49 63 6f 6e 53 70 72  |.      ._IconSpr|
00001070  69 74 65 28 49 25 2c 43  61 72 64 24 28 50 61 63  |ite(I%,Card$(Pac|
00001080  6b 25 28 49 25 2d 31 34  29 29 29 0d 06 68 08 20  |k%(I%-14)))..h. |
00001090  20 20 ed 0d 06 72 18 20  20 20 21 54 6d 70 25 3d  |  ...r.   !Tmp%=|
000010a0  4d 61 69 6e 48 61 6e 64  6c 65 25 0d 06 7c 10 20  |MainHandle%..|. |
000010b0  20 20 54 6d 70 25 21 34  3d 37 31 0d 06 86 0f 20  |  Tmp%!4=71.... |
000010c0  20 20 54 6d 70 25 21 38  3d 30 0d 06 90 10 20 20  |  Tmp%!8=0....  |
000010d0  20 54 6d 70 25 21 31 32  3d 30 0d 06 9a 23 20 20  | Tmp%!12=0...#  |
000010e0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  | .. "Wimp_GetIco|
000010f0  6e 53 74 61 74 65 22 2c  2c 54 6d 70 25 0d 06 a4  |nState",,Tmp%...|
00001100  2e 20 20 20 e7 20 54 6d  70 25 21 38 3c 31 30 30  |.   . Tmp%!8<100|
00001110  30 20 8c 20 f2 5f 4d 6f  76 65 49 63 6f 6e 42 79  |0 . ._MoveIconBy|
00001120  28 37 31 2c 31 30 30 30  2c 30 29 0d 06 ae 13 20  |(71,1000,0).... |
00001130  20 20 e3 20 49 25 3d 32  37 20 b8 20 36 35 0d 06  |  . I%=27 . 65..|
00001140  b8 21 20 20 20 20 20 20  f2 5f 49 63 6f 6e 53 70  |.!      ._IconSp|
00001150  72 69 74 65 28 49 25 2c  22 62 61 63 6b 22 29 0d  |rite(I%,"back").|
00001160  06 c2 08 20 20 20 ed 0d  06 cc 12 20 20 20 e3 20  |...   .....   . |
00001170  49 25 3d 36 20 b8 20 31  33 0d 06 d6 1d 20 20 20  |I%=6 . 13....   |
00001180  20 20 20 f2 5f 49 63 6f  6e 53 70 72 69 74 65 28  |   ._IconSprite(|
00001190  49 25 2c 22 22 29 0d 06  e0 08 20 20 20 ed 0d 06  |I%,"")....   ...|
000011a0  ea 1e 20 20 20 f2 5f 49  63 6f 6e 53 70 72 69 74  |..   ._IconSprit|
000011b0  65 28 32 2c 22 62 61 73  65 73 22 29 0d 06 f4 1e  |e(2,"bases")....|
000011c0  20 20 20 f2 5f 49 63 6f  6e 53 70 72 69 74 65 28  |   ._IconSprite(|
000011d0  33 2c 22 62 61 73 65 68  22 29 0d 06 fe 1e 20 20  |3,"baseh")....  |
000011e0  20 f2 5f 49 63 6f 6e 53  70 72 69 74 65 28 34 2c  | ._IconSprite(4,|
000011f0  22 62 61 73 65 63 22 29  0d 07 08 1e 20 20 20 f2  |"basec")....   .|
00001200  5f 49 63 6f 6e 53 70 72  69 74 65 28 35 2c 22 62  |_IconSprite(5,"b|
00001210  61 73 65 64 22 29 0d 07  12 12 20 20 20 f2 5f 57  |ased")....   ._W|
00001220  68 6f 53 74 61 72 74 73  0d 07 1c 1d 20 20 20 f2  |hoStarts....   .|
00001230  5f 49 63 6f 6e 53 70 72  69 74 65 28 50 25 2b 31  |_IconSprite(P%+1|
00001240  34 2c 22 22 29 0d 07 26  17 20 20 20 f2 5f 52 65  |4,"")..&.   ._Re|
00001250  64 72 61 77 50 61 73 73  54 65 78 74 0d 07 30 0d  |drawPassText..0.|
00001260  20 20 20 50 6f 74 25 3d  30 0d 07 3a 18 20 20 20  |   Pot%=0..:.   |
00001270  f2 5f 49 6e 63 72 65 6d  65 6e 74 50 6f 74 28 30  |._IncrementPot(0|
00001280  29 0d 07 44 14 20 20 20  47 61 6d 65 53 74 61 74  |)..D.   GameStat|
00001290  75 73 25 3d 31 0d 07 4e  05 e1 0d 07 58 04 0d 07  |us%=1..N....X...|
000012a0  62 16 dd f2 5f 53 6f 72  74 50 61 63 6b 28 41 25  |b..._SortPack(A%|
000012b0  2c 42 25 29 0d 07 6c 0b  ea 20 49 25 2c 4a 25 0d  |,B%)..l.. I%,J%.|
000012c0  07 76 15 20 20 20 e3 20  49 25 3d 41 25 20 b8 20  |.v.   . I%=A% . |
000012d0  42 25 2d 31 0d 07 80 18  20 20 20 20 20 20 e3 20  |B%-1....      . |
000012e0  4a 25 3d 49 25 2b 31 20  b8 20 42 25 0d 07 8a 3b  |J%=I%+1 . B%...;|
000012f0  20 20 20 20 20 20 20 20  20 e7 20 50 61 63 6b 25  |         . Pack%|
00001300  28 4a 25 29 3c 50 61 63  6b 25 28 49 25 29 20 8c  |(J%)<Pack%(I%) .|
00001310  20 c8 94 20 50 61 63 6b  25 28 4a 25 29 2c 50 61  | .. Pack%(J%),Pa|
00001320  63 6b 25 28 49 25 29 0d  07 94 0b 20 20 20 20 20  |ck%(I%)....     |
00001330  20 ed 0d 07 9e 08 20 20  20 ed 0d 07 a8 05 e1 0d  | .....   .......|
00001340  07 b2 04 0d 07 bc 0e dd  f2 5f 53 68 75 66 66 6c  |........._Shuffl|
00001350  65 0d 07 c6 08 ea 20 49  25 0d 07 d0 12 20 20 20  |e..... I%....   |
00001360  e3 20 49 25 3d 30 20 b8  20 35 31 0d 07 da 25 20  |. I%=0 . 51...% |
00001370  20 20 20 20 20 c8 94 20  50 61 63 6b 25 28 49 25  |     .. Pack%(I%|
00001380  29 2c 50 61 63 6b 25 28  b3 28 35 32 29 2d 31 29  |),Pack%(.(52)-1)|
00001390  0d 07 e4 08 20 20 20 ed  0d 07 ee 05 e1 0d 07 f8  |....   .........|
000013a0  04 0d 08 02 10 dd f2 5f  57 68 6f 53 74 61 72 74  |......._WhoStart|
000013b0  73 0d 08 0c 0b 20 20 20  50 25 3d 30 0d 08 16 17  |s....   P%=0....|
000013c0  20 20 20 c8 95 20 50 61  63 6b 25 28 50 25 29 3c  |   .. Pack%(P%)<|
000013d0  3e 34 35 0d 08 20 0f 20  20 20 20 20 20 50 25 2b  |>45.. .      P%+|
000013e0  3d 31 0d 08 2a 08 20 20  20 ce 0d 08 34 13 20 20  |=1..*.   ...4.  |
000013f0  20 43 25 3d 50 61 63 6b  25 28 50 25 29 0d 08 3e  | C%=Pack%(P%)..>|
00001400  11 20 20 20 53 25 3d 43  25 20 81 20 31 33 0d 08  |.   S%=C% . 13..|
00001410  48 11 20 20 20 52 25 3d  43 25 20 83 20 31 33 0d  |H.   R%=C% . 13.|
00001420  08 52 14 20 20 20 54 75  72 6e 25 3d 50 25 20 81  |.R.   Turn%=P% .|
00001430  20 31 33 0d 08 5c 05 e1  0d 08 66 04 0d 08 70 11  | 13..\....f...p.|
00001440  dd f2 5f 55 70 64 61 74  65 50 61 63 6b 0d 08 7a  |.._UpdatePack..z|
00001450  08 ea 20 4e 25 0d 08 84  13 20 20 20 50 61 63 6b  |.. N%....   Pack|
00001460  25 28 50 25 29 3d 2d 31  0d 08 8e 2b 20 20 20 e7  |%(P%)=-1...+   .|
00001470  20 52 25 3d 36 20 8c 20  46 72 65 65 25 28 53 25  | R%=6 . Free%(S%|
00001480  2c 30 29 3d 35 3a 46 72  65 65 25 28 53 25 2c 31  |,0)=5:Free%(S%,1|
00001490  29 3d 37 0d 08 98 20 20  20 20 e7 20 52 25 3c 36  |)=7...    . R%<6|
000014a0  20 8c 20 46 72 65 65 25  28 53 25 2c 30 29 3d 52  | . Free%(S%,0)=R|
000014b0  25 2d 31 0d 08 a2 20 20  20 20 e7 20 52 25 3e 36  |%-1...    . R%>6|
000014c0  20 8c 20 46 72 65 65 25  28 53 25 2c 31 29 3d 52  | . Free%(S%,1)=R|
000014d0  25 2b 31 0d 08 ac 22 20  20 20 e3 20 49 25 3d 54  |%+1..."   . I%=T|
000014e0  75 72 6e 25 2a 31 33 20  b8 20 54 75 72 6e 25 2a  |urn%*13 . Turn%*|
000014f0  31 33 2b 31 32 0d 08 b6  17 20 20 20 20 20 20 4e  |13+12....      N|
00001500  25 2b 3d 50 61 63 6b 25  28 49 25 29 0d 08 c0 08  |%+=Pack%(I%)....|
00001510  20 20 20 ed 0d 08 ca 11  20 20 20 e7 20 4e 25 3d  |   .....   . N%=|
00001520  2d 31 33 20 8c 0d 08 d4  14 20 20 20 20 20 20 c8  |-13 .....      .|
00001530  8e 20 54 75 72 6e 25 20  ca 0d 08 de 28 20 20 20  |. Turn% ....(   |
00001540  20 20 20 20 20 20 c9 20  30 3a 24 50 61 73 73 54  |      . 0:$PassT|
00001550  65 78 74 25 3d 22 59 4f  55 20 57 49 4e 21 21 21  |ext%="YOU WIN!!!|
00001560  22 0d 08 e8 28 20 20 20  20 20 20 20 20 20 c9 20  |"...(         . |
00001570  31 3a 24 50 61 73 73 54  65 78 74 25 3d 22 57 65  |1:$PassText%="We|
00001580  73 74 20 57 69 6e 73 21  22 0d 08 f2 29 20 20 20  |st Wins!"...)   |
00001590  20 20 20 20 20 20 c9 20  32 3a 24 50 61 73 73 54  |      . 2:$PassT|
000015a0  65 78 74 25 3d 22 4e 6f  72 74 68 20 57 69 6e 73  |ext%="North Wins|
000015b0  21 22 0d 08 fc 28 20 20  20 20 20 20 20 20 20 c9  |!"...(         .|
000015c0  20 33 3a 24 50 61 73 73  54 65 78 74 25 3d 22 45  | 3:$PassText%="E|
000015d0  61 73 74 20 57 69 6e 73  21 22 0d 09 06 0b 20 20  |ast Wins!"....  |
000015e0  20 20 20 20 cb 0d 09 10  22 20 20 20 20 20 20 f2  |    ...."      .|
000015f0  5f 4d 6f 76 65 49 63 6f  6e 42 79 28 37 31 2c 2d  |_MoveIconBy(71,-|
00001600  31 30 30 30 2c 30 29 0d  09 1a 1a 20 20 20 20 20  |1000,0)....     |
00001610  20 f2 5f 52 65 64 72 61  77 50 61 73 73 54 65 78  | ._RedrawPassTex|
00001620  74 0d 09 24 19 20 20 20  20 20 20 47 61 6d 65 53  |t..$.      GameS|
00001630  74 61 74 75 73 25 3d 31  30 30 0d 09 2e 08 20 20  |tatus%=100....  |
00001640  20 cd 0d 09 38 05 e1 0d  09 42 04 0d 09 4c 0f dd  | ...8....B...L..|
00001650  f2 5f 43 6f 6d 70 54 75  72 6e 0d 09 56 08 ea 20  |._CompTurn..V.. |
00001660  4e 25 0d 09 60 0b 20 20  20 4e 25 3d 30 0d 09 6a  |N%..`.   N%=0..j|
00001670  22 20 20 20 e3 20 50 25  3d 54 75 72 6e 25 2a 31  |"   . P%=Turn%*1|
00001680  33 20 b8 20 54 75 72 6e  25 2a 31 33 2b 31 32 0d  |3 . Turn%*13+12.|
00001690  09 74 16 20 20 20 20 20  20 43 25 3d 50 61 63 6b  |.t.      C%=Pack|
000016a0  25 28 50 25 29 0d 09 7e  13 20 20 20 20 20 20 e7  |%(P%)..~.      .|
000016b0  20 43 25 3e 3d 30 20 8c  0d 09 88 17 20 20 20 20  | C%>=0 .....    |
000016c0  20 20 20 20 20 53 25 3d  43 25 20 81 20 31 33 0d  |     S%=C% . 13.|
000016d0  09 92 17 20 20 20 20 20  20 20 20 20 52 25 3d 43  |...         R%=C|
000016e0  25 20 83 20 31 33 0d 09  9c 40 20 20 20 20 20 20  |% . 13...@      |
000016f0  20 20 20 e7 20 52 25 3d  46 72 65 65 25 28 53 25  |   . R%=Free%(S%|
00001700  2c 30 29 20 84 20 52 25  3d 46 72 65 65 25 28 53  |,0) . R%=Free%(S|
00001710  25 2c 31 29 20 8c 20 4e  25 2b 3d 31 3a 55 25 28  |%,1) . N%+=1:U%(|
00001720  4e 25 29 3d 50 25 0d 09  a6 0b 20 20 20 20 20 20  |N%)=P%....      |
00001730  cd 0d 09 b0 08 20 20 20  ed 0d 09 ba 0f 20 20 20  |.....   .....   |
00001740  e7 20 4e 25 3e 30 20 8c  0d 09 c4 2a 20 20 20 20  |. N%>0 ....*    |
00001750  20 20 e7 20 4e 25 3d 31  20 8c 20 50 25 3d 55 25  |  . N%=1 . P%=U%|
00001760  28 31 29 20 8b 20 50 25  3d 55 25 28 b3 28 4e 25  |(1) . P%=U%(.(N%|
00001770  29 29 0d 09 ce 16 20 20  20 20 20 20 43 25 3d 50  |))....      C%=P|
00001780  61 63 6b 25 28 50 25 29  0d 09 d8 14 20 20 20 20  |ack%(P%)....    |
00001790  20 20 53 25 3d 43 25 20  81 20 31 33 0d 09 e2 14  |  S%=C% . 13....|
000017a0  20 20 20 20 20 20 52 25  3d 43 25 20 83 20 31 33  |      R%=C% . 13|
000017b0  0d 09 ec 17 20 20 20 20  20 20 47 61 6d 65 53 74  |....      GameSt|
000017c0  61 74 75 73 25 3d 31 0d  09 f6 08 20 20 20 cc 0d  |atus%=1....   ..|
000017d0  0a 00 14 20 20 20 20 20  20 c8 8e 20 54 75 72 6e  |...      .. Turn|
000017e0  25 20 ca 0d 0a 0a 2b 20  20 20 20 20 20 20 20 20  |% ....+         |
000017f0  c9 20 30 3a 24 50 61 73  73 54 65 78 74 25 3d 22  |. 0:$PassText%="|
00001800  53 6f 75 74 68 20 50 61  73 73 65 73 21 22 0d 0a  |South Passes!"..|
00001810  14 2a 20 20 20 20 20 20  20 20 20 c9 20 31 3a 24  |.*         . 1:$|
00001820  50 61 73 73 54 65 78 74  25 3d 22 57 65 73 74 20  |PassText%="West |
00001830  50 61 73 73 65 73 21 22  0d 0a 1e 2b 20 20 20 20  |Passes!"...+    |
00001840  20 20 20 20 20 c9 20 32  3a 24 50 61 73 73 54 65  |     . 2:$PassTe|
00001850  78 74 25 3d 22 4e 6f 72  74 68 20 50 61 73 73 65  |xt%="North Passe|
00001860  73 21 22 0d 0a 28 2a 20  20 20 20 20 20 20 20 20  |s!"..(*         |
00001870  c9 20 33 3a 24 50 61 73  73 54 65 78 74 25 3d 22  |. 3:$PassText%="|
00001880  45 61 73 74 20 50 61 73  73 65 73 21 22 0d 0a 32  |East Passes!"..2|
00001890  0b 20 20 20 20 20 20 cb  0d 0a 3c 1b 20 20 20 20  |.      ...<.    |
000018a0  20 20 f2 5f 49 6e 63 72  65 6d 65 6e 74 50 6f 74  |  ._IncrementPot|
000018b0  28 35 29 0d 0a 46 18 20  20 20 20 20 20 47 61 6d  |(5)..F.      Gam|
000018c0  65 53 74 61 74 75 73 25  3d 31 36 0d 0a 50 08 20  |eStatus%=16..P. |
000018d0  20 20 cd 0d 0a 5a 05 e1  0d 0a 64 04 0d 0a 6e 17  |  ...Z....d...n.|
000018e0  dd f2 5f 49 6e 63 72 65  6d 65 6e 74 50 6f 74 28  |.._IncrementPot(|
000018f0  6e 25 29 0d 0a 78 0f 20  20 20 50 6f 74 25 2b 3d  |n%)..x.   Pot%+=|
00001900  6e 25 0d 0a 82 1d 20 20  20 24 50 6f 74 54 65 78  |n%....   $PotTex|
00001910  74 25 3d 22 50 6f 74 3a  22 2b c3 50 6f 74 25 0d  |t%="Pot:"+.Pot%.|
00001920  0a 8c 25 20 20 20 f2 5f  53 65 74 49 63 6f 6e 53  |..%   ._SetIconS|
00001930  74 61 74 65 28 4d 61 69  6e 48 61 6e 64 6c 65 25  |tate(MainHandle%|
00001940  2c 36 39 29 0d 0a 96 05  e1 0d 0a a0 04 0d 0a aa  |,69)............|
00001950  0c dd a4 5f 43 61 6e 47  6f 0d 0a b4 15 ea 20 50  |..._CanGo..... P|
00001960  25 2c 43 25 2c 52 25 2c  53 25 2c 47 6f 25 0d 0a  |%,C%,R%,S%,Go%..|
00001970  be 0c 20 20 20 47 6f 25  3d a3 0d 0a c8 22 20 20  |..   Go%=...."  |
00001980  20 e3 20 50 25 3d 54 75  72 6e 25 2a 31 33 20 b8  | . P%=Turn%*13 .|
00001990  20 54 75 72 6e 25 2a 31  33 2b 31 32 0d 0a d2 16  | Turn%*13+12....|
000019a0  20 20 20 20 20 20 43 25  3d 50 61 63 6b 25 28 50  |      C%=Pack%(P|
000019b0  25 29 0d 0a dc 13 20 20  20 20 20 20 e7 20 43 25  |%)....      . C%|
000019c0  3e 3d 30 20 8c 0d 0a e6  17 20 20 20 20 20 20 20  |>=0 .....       |
000019d0  20 20 53 25 3d 43 25 20  81 20 31 33 0d 0a f0 17  |  S%=C% . 13....|
000019e0  20 20 20 20 20 20 20 20  20 52 25 3d 43 25 20 83  |         R%=C% .|
000019f0  20 31 33 0d 0a fa 36 20  20 20 20 20 20 20 20 20  | 13...6         |
00001a00  e7 20 52 25 3d 46 72 65  65 25 28 53 25 2c 30 29  |. R%=Free%(S%,0)|
00001a10  20 84 20 52 25 3d 46 72  65 65 25 28 53 25 2c 31  | . R%=Free%(S%,1|
00001a20  29 20 8c 20 47 6f 25 3d  b9 0d 0b 04 0b 20 20 20  |) . Go%=.....   |
00001a30  20 20 20 cd 0d 0b 0e 08  20 20 20 ed 0d 0b 18 08  |   .....   .....|
00001a40  3d 47 6f 25 0d 0b 22 04  0d 0b 2c 15 dd f2 5f 52  |=Go%.."...,..._R|
00001a50  65 64 72 61 77 50 61 73  73 54 65 78 74 0d 0b 36  |edrawPassText..6|
00001a60  44 20 20 20 c8 99 20 22  57 69 6d 70 5f 46 6f 72  |D   .. "Wimp_For|
00001a70  63 65 52 65 64 72 61 77  22 2c 4d 61 69 6e 48 61  |ceRedraw",MainHa|
00001a80  6e 64 6c 65 25 2c 50 78  6d 69 6e 25 2c 50 79 6d  |ndle%,Pxmin%,Pym|
00001a90  69 6e 25 2c 50 78 6d 61  78 25 2c 50 79 6d 61 78  |in%,Pxmax%,Pymax|
00001aa0  25 0d 0b 40 05 e1 0d 0b  4a 04 0d 0b 54 1c dd f2  |%..@....J...T...|
00001ab0  5f 4d 6f 76 65 49 63 6f  6e 42 79 28 49 68 25 2c  |_MoveIconBy(Ih%,|
00001ac0  78 25 2c 79 25 29 0d 0b  5e 18 20 20 20 21 54 6d  |x%,y%)..^.   !Tm|
00001ad0  70 25 3d 4d 61 69 6e 48  61 6e 64 6c 65 25 0d 0b  |p%=MainHandle%..|
00001ae0  68 11 20 20 20 54 6d 70  25 21 34 3d 49 68 25 0d  |h.   Tmp%!4=Ih%.|
00001af0  0b 72 23 20 20 20 c8 99  20 22 57 69 6d 70 5f 47  |.r#   .. "Wimp_G|
00001b00  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 54 6d  |etIconState",,Tm|
00001b10  70 25 0d 0b 7c 21 20 20  20 c8 99 20 22 57 69 6d  |p%..|!   .. "Wim|
00001b20  70 5f 44 65 6c 65 74 65  49 63 6f 6e 22 2c 2c 54  |p_DeleteIcon",,T|
00001b30  6d 70 25 0d 0b 86 19 20  20 20 54 6d 70 25 21 34  |mp%....   Tmp%!4|
00001b40  3d 4d 61 69 6e 48 61 6e  64 6c 65 25 0d 0b 90 11  |=MainHandle%....|
00001b50  20 20 20 54 6d 70 25 21  38 2b 3d 78 25 0d 0b 9a  |   Tmp%!8+=x%...|
00001b60  12 20 20 20 54 6d 70 25  21 31 32 2b 3d 79 25 0d  |.   Tmp%!12+=y%.|
00001b70  0b a4 12 20 20 20 54 6d  70 25 21 31 36 2b 3d 78  |...   Tmp%!16+=x|
00001b80  25 0d 0b ae 12 20 20 20  54 6d 70 25 21 32 30 2b  |%....   Tmp%!20+|
00001b90  3d 79 25 0d 0b b8 23 20  20 20 c8 99 20 22 57 69  |=y%...#   .. "Wi|
00001ba0  6d 70 5f 43 72 65 61 74  65 49 63 6f 6e 22 2c 2c  |mp_CreateIcon",,|
00001bb0  54 6d 70 25 2b 34 0d 0b  c2 05 e1 0d 0b cc 04 0d  |Tmp%+4..........|
00001bc0  0b d6 1c dd f2 5f 53 65  74 49 63 6f 6e 53 74 61  |....._SetIconSta|
00001bd0  74 65 28 57 68 25 2c 49  68 25 29 0d 0b e0 10 20  |te(Wh%,Ih%).... |
00001be0  20 20 21 54 6d 70 25 3d  57 68 25 0d 0b ea 11 20  |  !Tmp%=Wh%.... |
00001bf0  20 20 54 6d 70 25 21 34  3d 49 68 25 0d 0b f4 0f  |  Tmp%!4=Ih%....|
00001c00  20 20 20 54 6d 70 25 21  38 3d 30 0d 0b fe 10 20  |   Tmp%!8=0.... |
00001c10  20 20 54 6d 70 25 21 31  32 3d 30 0d 0c 08 23 20  |  Tmp%!12=0...# |
00001c20  20 20 c8 99 20 22 57 69  6d 70 5f 53 65 74 49 63  |  .. "Wimp_SetIc|
00001c30  6f 6e 53 74 61 74 65 22  2c 2c 54 6d 70 25 0d 0c  |onState",,Tmp%..|
00001c40  12 05 e1 0d 0c 1c 04 0d  0c 26 14 dd f2 5f 53 65  |.........&..._Se|
00001c50  74 75 70 49 6e 64 49 63  6f 6e 73 0d 0c 30 08 ea  |tupIndIcons..0..|
00001c60  20 49 25 0d 0c 3a 12 20  20 20 e3 20 49 25 3d 32  | I%..:.   . I%=2|
00001c70  20 b8 20 36 38 0d 0c 44  21 20 20 20 20 20 20 f2  | . 68..D!      .|
00001c80  5f 4d 61 6b 65 49 63 6f  6e 49 6e 64 53 70 72 28  |_MakeIconIndSpr(|
00001c90  49 25 2c 49 25 29 0d 0c  4e 08 20 20 20 ed 0d 0c  |I%,I%)..N.   ...|
00001ca0  58 05 e1 0d 0c 62 04 0d  0c 6c 24 dd f2 5f 4d 61  |X....b...l$.._Ma|
00001cb0  6b 65 49 63 6f 6e 49 6e  64 53 70 72 28 49 48 61  |keIconIndSpr(IHa|
00001cc0  6e 64 6c 65 25 2c 53 70  72 25 29 0d 0c 76 09 ea  |ndle%,Spr%)..v..|
00001cd0  20 49 64 25 0d 0c 80 22  20 20 20 49 64 25 3d 4d  | Id%..."   Id%=M|
00001ce0  61 69 6e 42 6c 6b 25 2b  38 38 2b 49 48 61 6e 64  |ainBlk%+88+IHand|
00001cf0  6c 65 25 2a 33 32 0d 0c  8a 31 20 20 20 49 64 25  |le%*32...1   Id%|
00001d00  21 31 36 3d 28 49 64 25  21 31 36 20 80 20 ac 25  |!16=(Id%!16 . .%|
00001d10  31 30 30 30 30 30 30 30  30 29 20 82 20 25 31 30  |100000000) . %10|
00001d20  30 30 30 30 30 30 30 0d  0c 94 1f 20 20 20 49 64  |0000000....   Id|
00001d30  25 21 32 30 3d 53 70 72  4e 61 6d 65 73 25 2b 53  |%!20=SprNames%+S|
00001d40  70 72 25 2a 31 32 0d 0c  9e 1a 20 20 20 49 64 25  |pr%*12....   Id%|
00001d50  21 32 34 3d 55 73 65 72  53 70 72 69 74 65 73 25  |!24=UserSprites%|
00001d60  0d 0c a8 10 20 20 20 49  64 25 21 32 38 3d 31 32  |....   Id%!28=12|
00001d70  0d 0c b2 05 e1 0d 0c bc  04 0d 0c c6 20 dd f2 5f  |............ .._|
00001d80  49 63 6f 6e 53 70 72 69  74 65 28 49 48 61 6e 64  |IconSprite(IHand|
00001d90  6c 65 25 2c 53 70 72 24  29 0d 0c d0 24 20 20 20  |le%,Spr$)...$   |
00001da0  24 28 53 70 72 4e 61 6d  65 73 25 2b 49 48 61 6e  |$(SprNames%+IHan|
00001db0  64 6c 65 25 2a 31 32 29  3d 53 70 72 24 0d 0c da  |dle%*12)=Spr$...|
00001dc0  18 20 20 20 21 54 6d 70  25 3d 4d 61 69 6e 48 61  |.   !Tmp%=MainHa|
00001dd0  6e 64 6c 65 25 0d 0c e4  16 20 20 20 54 6d 70 25  |ndle%....   Tmp%|
00001de0  21 34 3d 49 48 61 6e 64  6c 65 25 0d 0c ee 0f 20  |!4=IHandle%.... |
00001df0  20 20 54 6d 70 25 21 38  3d 30 0d 0c f8 10 20 20  |  Tmp%!8=0....  |
00001e00  20 54 6d 70 25 21 31 32  3d 30 0d 0d 02 23 20 20  | Tmp%!12=0...#  |
00001e10  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00001e20  6e 53 74 61 74 65 22 2c  2c 54 6d 70 25 0d 0d 0c  |nState",,Tmp%...|
00001e30  12 20 20 20 e7 20 53 70  72 24 3d 22 22 20 8c 0d  |.   . Spr$="" ..|
00001e40  0d 16 26 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |..&      .. "Wim|
00001e50  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
00001e60  2c 54 6d 70 25 0d 0d 20  44 20 20 20 20 20 20 c8  |,Tmp%.. D      .|
00001e70  99 20 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |. "Wimp_ForceRed|
00001e80  72 61 77 22 2c 21 54 6d  70 25 2c 54 6d 70 25 21  |raw",!Tmp%,Tmp%!|
00001e90  38 2c 54 6d 70 25 21 31  32 2c 54 6d 70 25 21 31  |8,Tmp%!12,Tmp%!1|
00001ea0  36 2c 54 6d 70 25 21 32  30 0d 0d 2a 08 20 20 20  |6,Tmp%!20..*.   |
00001eb0  cd 0d 0d 34 05 e1 0d 0d  3e 04 0d 0d 48 1e dd a4  |...4....>...H...|
00001ec0  5f 47 65 74 49 63 6f 6e  53 70 72 69 74 65 28 49  |_GetIconSprite(I|
00001ed0  48 61 6e 64 6c 65 25 29  0d 0d 52 1d 3d 24 28 53  |Handle%)..R.=$(S|
00001ee0  70 72 4e 61 6d 65 73 25  2b 49 48 61 6e 64 6c 65  |prNames%+IHandle|
00001ef0  25 2a 31 32 29 0d 0d 5c  04 0d 0d 66 1f dd f2 5f  |%*12)..\...f..._|
00001f00  4e 65 77 4d 65 6e 75 28  4d 65 6e 75 42 6c 6b 25  |NewMenu(MenuBlk%|
00001f10  2c 54 69 74 6c 65 24 29  0d 0d 70 17 20 20 20 24  |,Title$)..p.   $|
00001f20  4d 65 6e 75 42 6c 6b 25  3d 54 69 74 6c 65 24 0d  |MenuBlk%=Title$.|
00001f30  0d 7a 1c 20 20 20 4d 65  6e 75 42 6c 6b 25 21 31  |.z.   MenuBlk%!1|
00001f40  32 3d 26 30 30 30 37 30  32 30 37 0d 0d 84 14 20  |2=&00070207.... |
00001f50  20 20 4d 65 6e 75 42 6c  6b 25 21 31 36 3d 30 0d  |  MenuBlk%!16=0.|
00001f60  0d 8e 15 20 20 20 4d 65  6e 75 42 6c 6b 25 21 32  |...   MenuBlk%!2|
00001f70  30 3d 34 34 0d 0d 98 14  20 20 20 4d 65 6e 75 42  |0=44....   MenuB|
00001f80  6c 6b 25 21 32 34 3d 30  0d 0d a2 15 20 20 20 4d  |lk%!24=0....   M|
00001f90  65 6e 75 42 6c 6b 25 21  32 38 3d 2d 31 0d 0d ac  |enuBlk%!28=-1...|
00001fa0  05 e1 0d 0d b6 04 0d 0d  c0 2e dd f2 5f 41 64 64  |............_Add|
00001fb0  4d 65 6e 75 49 74 65 6d  28 4d 65 6e 75 42 6c 6b  |MenuItem(MenuBlk|
00001fc0  25 2c 49 74 65 6d 24 2c  46 6c 61 67 73 25 2c 50  |%,Item$,Flags%,P|
00001fd0  74 72 25 29 0d 0d ca 40  20 20 20 e7 20 4d 65 6e  |tr%)...@   . Men|
00001fe0  75 42 6c 6b 25 21 31 36  3c a9 28 49 74 65 6d 24  |uBlk%!16<.(Item$|
00001ff0  29 2a 31 36 2b 31 32 20  8c 20 4d 65 6e 75 42 6c  |)*16+12 . MenuBl|
00002000  6b 25 21 31 36 3d a9 28  49 74 65 6d 24 29 2a 31  |k%!16=.(Item$)*1|
00002010  36 2b 31 32 0d 0d d4 13  20 20 20 4d 65 6e 75 42  |6+12....   MenuB|
00002020  6c 6b 25 2b 3d 32 38 0d  0d de 18 20 20 20 e7 20  |lk%+=28....   . |
00002030  21 4d 65 6e 75 42 6c 6b  25 3c 3e 2d 31 20 8c 0d  |!MenuBlk%<>-1 ..|
00002040  0d e8 0b 20 20 20 20 20  20 f5 0d 0d f2 19 20 20  |...      .....  |
00002050  20 20 20 20 20 20 20 4d  65 6e 75 42 6c 6b 25 2b  |       MenuBlk%+|
00002060  3d 32 34 0d 0d fc 24 20  20 20 20 20 20 fd 20 28  |=24...$      . (|
00002070  4d 65 6e 75 42 6c 6b 25  21 2d 32 34 20 80 20 31  |MenuBlk%!-24 . 1|
00002080  32 38 29 3d 31 32 38 0d  0e 06 2a 20 20 20 20 20  |28)=128...*     |
00002090  20 4d 65 6e 75 42 6c 6b  25 21 2d 32 34 3d 4d 65  | MenuBlk%!-24=Me|
000020a0  6e 75 42 6c 6b 25 21 2d  32 34 20 80 20 ac 31 32  |nuBlk%!-24 . .12|
000020b0  38 0d 0e 10 08 20 20 20  cd 0d 0e 1a 1f 20 20 20  |8....   .....   |
000020c0  21 4d 65 6e 75 42 6c 6b  25 3d 28 46 6c 61 67 73  |!MenuBlk%=(Flags|
000020d0  25 20 84 20 31 32 38 29  0d 0e 24 16 20 20 20 4d  |% . 128)..$.   M|
000020e0  65 6e 75 42 6c 6b 25 21  34 3d 50 74 72 25 0d 0e  |enuBlk%!4=Ptr%..|
000020f0  2e 1a 20 20 20 4d 65 6e  75 42 6c 6b 25 21 38 3d  |..   MenuBlk%!8=|
00002100  26 37 30 30 39 30 33 31  0d 0e 38 1b 20 20 20 24  |&7009031..8.   $|
00002110  28 4d 65 6e 75 42 6c 6b  25 2b 31 32 29 3d 49 74  |(MenuBlk%+12)=It|
00002120  65 6d 24 0d 0e 42 05 e1  0d 0e 4c 04 0d 0e 56 1b  |em$..B....L...V.|
00002130  dd f2 5f 4f 70 65 6e 57  69 6e 64 6f 77 48 28 48  |.._OpenWindowH(H|
00002140  61 6e 64 6c 65 25 29 0d  0e 60 14 20 20 20 21 54  |andle%)..`.   !T|
00002150  6d 70 25 3d 48 61 6e 64  6c 65 25 0d 0e 6a 25 20  |mp%=Handle%..j% |
00002160  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
00002170  6e 64 6f 77 53 74 61 74  65 22 2c 2c 54 6d 70 25  |ndowState",,Tmp%|
00002180  0d 0e 74 11 20 20 20 54  6d 70 25 21 32 38 3d 2d  |..t.   Tmp%!28=-|
00002190  31 0d 0e 7e 21 20 20 20  c8 99 20 22 57 69 6d 70  |1..~!   .. "Wimp|
000021a0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 54 6d  |_OpenWindow",,Tm|
000021b0  70 25 0d 0e 88 05 e1 0d  0e 92 04 0d 0e 9c 14 dd  |p%..............|
000021c0  f2 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 73 0d  |._LoadTemplates.|
000021d0  0e a6 35 20 20 20 c8 99  20 22 57 69 6d 70 5f 4f  |..5   .. "Wimp_O|
000021e0  70 65 6e 54 65 6d 70 6c  61 74 65 22 2c 2c 22 3c  |penTemplate",,"<|
000021f0  4f 62 65 79 24 44 69 72  3e 2e 54 65 6d 70 6c 61  |Obey$Dir>.Templa|
00002200  74 65 73 22 0d 0e b0 53  20 20 20 c8 99 20 22 57  |tes"...S   .. "W|
00002210  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00002220  22 2c 2c 49 6e 66 6f 42  6c 6b 25 2c 4e 78 74 49  |",,InfoBlk%,NxtI|
00002230  6e 64 25 2c 49 6e 64 45  6e 64 25 2c 2d 31 2c 22  |nd%,IndEnd%,-1,"|
00002240  50 72 6f 67 49 6e 66 6f  22 2c 30 20 b8 20 2c 2c  |ProgInfo",0 . ,,|
00002250  4e 78 74 49 6e 64 25 0d  0e ba 4f 20 20 20 c8 99  |NxtInd%...O   ..|
00002260  20 22 57 69 6d 70 5f 4c  6f 61 64 54 65 6d 70 6c  | "Wimp_LoadTempl|
00002270  61 74 65 22 2c 2c 4d 61  69 6e 42 6c 6b 25 2c 4e  |ate",,MainBlk%,N|
00002280  78 74 49 6e 64 25 2c 49  6e 64 45 6e 64 25 2c 2d  |xtInd%,IndEnd%,-|
00002290  31 2c 22 4d 61 69 6e 22  2c 30 20 b8 20 2c 2c 4e  |1,"Main",0 . ,,N|
000022a0  78 74 49 6e 64 25 0d 0e  c4 1e 20 20 20 c8 99 20  |xtInd%....   .. |
000022b0  22 57 69 6d 70 5f 43 6c  6f 73 65 54 65 6d 70 6c  |"Wimp_CloseTempl|
000022c0  61 74 65 22 0d 0e ce 05  e1 0d 0e d8 04 0d 0e e2  |ate"............|
000022d0  14 dd f2 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |..._CreateWindow|
000022e0  73 0d 0e ec 35 20 20 20  c8 99 20 22 57 69 6d 70  |s...5   .. "Wimp|
000022f0  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00002300  49 6e 66 6f 42 6c 6b 25  20 b8 20 49 6e 66 6f 48  |InfoBlk% . InfoH|
00002310  61 6e 64 6c 65 25 0d 0e  f6 35 20 20 20 c8 99 20  |andle%...5   .. |
00002320  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
00002330  6f 77 22 2c 2c 4d 61 69  6e 42 6c 6b 25 20 b8 20  |ow",,MainBlk% . |
00002340  4d 61 69 6e 48 61 6e 64  6c 65 25 0d 0f 00 05 e1  |MainHandle%.....|
00002350  0d 0f 0a 04 0d 0f 14 14  dd f2 5f 45 72 72 6f 72  |.........._Error|
00002360  28 45 72 72 6f 72 24 29  0d 0f 1e 11 20 20 20 21  |(Error$)....   !|
00002370  45 72 72 42 6c 6b 25 3d  30 0d 0f 28 1a 20 20 20  |ErrBlk%=0..(.   |
00002380  24 28 45 72 72 42 6c 6b  25 2b 34 29 3d 45 72 72  |$(ErrBlk%+4)=Err|
00002390  6f 72 24 0d 0f 32 30 20  20 20 c8 99 20 22 57 69  |or$..20   .. "Wi|
000023a0  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
000023b0  45 72 72 42 6c 6b 25 2c  30 2c 54 61 73 6b 4e 61  |ErrBlk%,0,TaskNa|
000023c0  6d 65 24 0d 0f 3c 05 e1  0d 0f 46 04 0d 0f 50 27  |me$..<....F...P'|
000023d0  dd f2 5f 43 72 65 61 74  65 4d 65 6e 75 28 4d 65  |.._CreateMenu(Me|
000023e0  6e 75 42 6c 6b 25 2c 58  70 6f 73 25 2c 59 70 6f  |nuBlk%,Xpos%,Ypo|
000023f0  73 25 29 0d 0f 5a 19 20  20 20 4f 70 65 6e 4d 65  |s%)..Z.   OpenMe|
00002400  6e 75 25 3d 4d 65 6e 75  42 6c 6b 25 0d 0f 64 31  |nu%=MenuBlk%..d1|
00002410  20 20 20 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |   .. "Wimp_Crea|
00002420  74 65 4d 65 6e 75 22 2c  2c 4d 65 6e 75 42 6c 6b  |teMenu",,MenuBlk|
00002430  25 2c 58 70 6f 73 25 2c  59 70 6f 73 25 0d 0f 6e  |%,Xpos%,Ypos%..n|
00002440  05 e1 0d 0f 78 04 0d 0f  82 12 dd f2 5f 4c 6f 61  |....x......._Loa|
00002450  64 53 70 72 69 74 65 73  0d 0f 8c 40 20 20 20 c8  |dSprites...@   .|
00002460  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
00002470  32 35 36 2b 31 30 2c 55  73 65 72 53 70 72 69 74  |256+10,UserSprit|
00002480  65 73 25 2c 22 3c 4f 62  65 79 24 44 69 72 3e 2e  |es%,"<Obey$Dir>.|
00002490  53 70 72 69 74 65 73 22  0d 0f 96 05 e1 0d 0f a0  |Sprites"........|
000024a0  04 0d 0f aa 14 dd f2 5f  53 65 74 75 70 53 70 72  |......._SetupSpr|
000024b0  4e 61 6d 65 73 0d 0f b4  08 ea 20 49 25 0d 0f be  |Names..... I%...|
000024c0  12 20 20 20 e3 20 49 25  3d 30 20 b8 20 35 31 0d  |.   . I%=0 . 51.|
000024d0  0f c8 35 20 20 20 20 20  20 43 61 72 64 24 28 49  |..5      Card$(I|
000024e0  25 29 3d c3 28 49 25 20  83 20 31 33 2b 31 29 2b  |%)=.(I% . 13+1)+|
000024f0  c1 22 73 68 63 64 22 2c  49 25 20 81 20 31 33 2b  |."shcd",I% . 13+|
00002500  31 2c 31 29 0d 0f d2 08  20 20 20 ed 0d 0f dc 23  |1,1)....   ....#|
00002510  20 20 20 24 28 53 70 72  4e 61 6d 65 73 25 2b 36  |   $(SprNames%+6|
00002520  36 2a 31 32 29 3d 22 6e  65 77 64 65 61 6c 22 0d  |6*12)="newdeal".|
00002530  0f e6 20 20 20 20 24 28  53 70 72 4e 61 6d 65 73  |..    $(SprNames|
00002540  25 2b 36 37 2a 31 32 29  3d 22 70 61 73 73 22 0d  |%+67*12)="pass".|
00002550  0f f0 20 20 20 20 24 28  53 70 72 4e 61 6d 65 73  |..    $(SprNames|
00002560  25 2b 36 38 2a 31 32 29  3d 22 70 61 73 73 22 0d  |%+68*12)="pass".|
00002570  0f fa 05 e1 0d 10 04 04  0d 10 0e 0e dd a4 5f 53  |.............._S|
00002580  74 72 28 41 25 29 0d 10  18 08 ea 20 41 24 0d 10  |tr(A%)..... A$..|
00002590  22 0c 20 20 20 41 24 3d  22 22 0d 10 2c 1c 20 20  |".   A$=""..,.  |
000025a0  20 c8 95 20 3f 41 25 3e  3d 33 32 20 80 20 a9 41  | .. ?A%>=32 . .A|
000025b0  24 3c 3d 32 35 35 0d 10  36 12 20 20 20 20 20 20  |$<=255..6.      |
000025c0  41 24 2b 3d bd 3f 41 25  0d 10 40 0f 20 20 20 20  |A$+=.?A%..@.    |
000025d0  20 20 41 25 2b 3d 31 0d  10 4a 08 20 20 20 ce 0d  |  A%+=1..J.   ..|
000025e0  10 54 07 3d 41 24 0d ff                           |.T.=A$..|
000025e8