fichier des terrains: land.s
%LAND%%%%%%%%%% % LAND DISPER % % GUID DISPER % % 00198_5 MP1 % % 0019D_5 MP2 % % 00167_5 DAT % % 0016C_5 STR % % 00171_2 X % % 00173_2 Y % %%%%%%%%%%%%%%%
*INI_DISP LA [SIZ.X]-1 D0= 00171 DAT0=A.B LA [SIZ.Y]-1 D0= 00173 DAT0=A.B RTN
*DAT D0= 001DA C=DAT0.A C=C+5.A D0= 00167 DAT0=C.A RTN
*STR D0= 001D0 A=DAT0.A A=A+10.A A=A+6.A D0= 0016C DAT0=A.A RTN
**LAND_DISPER
GOSUBL DAT GOSUBL STR GOSUBL INI_DISP D0= [MAP1] A=DAT0.A LC [OFFSET] A=A+C.A D0= 0017B DAT0=A.A
*BC72A D0= 00167 A=DAT0.A D1=A D0= 0016C A=DAT0.A D0=A B=0.B
*BC747 A=DAT0 B ?A=B.B GOYES BC765 B=B+1.B AD1EX LC [OBJ.X]/4*3*[OBJ.Y] A=A+C.A AD1EX GOTO BC747
*BC765 GOTO NO.ANI
LC 0D ?B=C.B { AD1EX R4=A
%%%%% STR-FREE %%%%% D0= 001C9 A=DAT0.A D0=A %C=DAT0.P ?C0.P %{ C--.P %DO { D0=D0+ 8 C--.P } WHILENC % } D0=D0+ 1 %%%%%%%%%%%%%%%%%%%%%%
LA 1 DAT0=A.P %PRINC D0=D0+ 1 LA 1 DAT0=A.P %FRAM1 D0=D0+ 1 A=0.A D1= 00171 A=DAT1.B LC [SIZ.X]-1 C=C-A.B CSL.A DAT0=C.B D0=D0+ 2 A=0.A D1= 00173 A=DAT1.B LC [SIZ.Y]-1 C=C-A.B CSL.A DAT0=C.B D0=D0+ 2 LC 1 DAT0=C.P %PRINC D0=D0+ 1 C=0.P DAT0=C.P %TXT
A=R4 AD1EX }
LC 10 ?B=C.B % 10 { AD1EX R4=A
%%%%% STR-FREE %%%%% D0= 001C9 A=DAT0.A D0=A %C=DAT0.P ?C0.P %{ C--.P %DO { D0=D0+ 8 C--.P } WHILENC % } D0=D0+ 1 D0=D0+ 8 %%%%%%%%%%%%%%%%%%%%%%
LA 2 DAT0=A.P %BEGIN D0=D0+ 1 LA 1 DAT0=A.P %FRAM1 D0=D0+ 1 A=0.A D1= 00171 A=DAT1.B LC [SIZ.X]-1 C=C-A.B CSL.A DAT0=C.B D0=D0+ 2 A=0.A D1= 00173 A=DAT1.B LC [SIZ.Y]-1 C=C-A.B CSL.A DAT0=C.B
D0=D0+ 2 LC 2 DAT0=C.P %PRINC D0=D0+ 1 C=0.P DAT0=C.P %TXT
A=R4 AD1EX }
*NO.ANI
D0= 0017B A=DAT0.A D0=A GOSUBL DISP.OBJ
D0= 00171 A=DAT0.B ?A=0.B GOYES BC7CC A=A-1.B DAT0=A.B
D0= 0017B A=DAT0.A LC [OBJ.X]/4 A=A+C.A DAT0=A.A
D0= 0016C A=DAT0.A A=A+2.A DAT0=A.A GOTO BC72A
*BC7CC D0= 00173 A=DAT0.B ?A=0.B GOYES BC822 A=A-1.B DAT0=A.B
LA [SIZ.X]-1 D0= 00171 DAT0=A.B
GOSUBL NEXT.ROW GOSUBL NEXT.STR
GOTO BC72A
*BC822 GOSUBL DAT GOSUBL STR GOSUBL INI_DISP D0= [MAP2] A=DAT0.A LC [OFFSET] A=A+C.A D0= 0017B DAT0=A.A
*BC845 D0= 00167 A=DAT0.A D1=A D0= 0016C A=DAT0.A D0=A B=0.B
*BC862 A=DAT0.B ?A=B.B GOYES BC880 B=B+1.B AD1EX LC [OBJ.X]/4*3*[OBJ.Y] A=A+C.A AD1EX GOTO BC862
*BC880 AD1EX LC [OBJ.X]/4 A=A+C.A AD1EX
D0= 0017B A=DAT0.A D0=A
GOSUBL DISP.OBJ
D0= 00171 A=DAT0.B ?A=0.B GOYES BC8EA A=A-1.B DAT0=A.B D0= 0017B A=DAT0.A LC [OBJ.X]/4 A=A+C.A DAT0=A.A D0= 0016C A=DAT0.A A=A+2.A DAT0=A.A GOTO BC845
*BC8EA D0= 00173 A=DAT0.B ?A=0.B RTNYES A=A-1.B DAT0=A.B
LA [SIZ.X]-1 D0= 00171 DAT0=A.B
GOSUBL NEXT.ROW GOSUBL NEXT.STR
GOTO BC845
**GUID_DISPER GOSUBL DAT GOSUBL STR GOSUBL INI_DISP D0= 001AC A=DAT0.A LC [OFFSET] A=A+C.A D0= 0017B DAT0=A.A
*L.03 D0= 00167 A=DAT0.A D1=A
AD1EX LC [OBJ.X]/4 A=A+C.A A=A+C.A AD1EX
D0= 0016C A=DAT0.A D0=A B=0.B
*L.04 A=DAT0 B ?A=B.B GOYES L.05 B=B+1.B AD1EX LC [OBJ.X]/4*3*[OBJ.Y] A=A+C.A AD1EX GOTO L.04
*L.05 D0= 0017B A=DAT0.A D0=A LC F
DO { A=DAT1 4 DAT0=A 4 D0=D0+ 34 D1=D1+ 12 C=C-1 P } WHILENC
D0= 00171 A=DAT0.B ?A=0.B GOYES L.06 A=A-1.B DAT0=A.B
D0= 0017B A=DAT0.A LC [OBJ.X]/4 A=A+C.A DAT0=A.A
D0= 0016C A=DAT0.A A=A+2.A DAT0=A.A GOTO L.03
*L.06 D0= 00173 A=DAT0.B ?A=0.B RTNYES A=A-1.B DAT0=A.B
LA [SIZ.X]-1 D0= 00171 DAT0=A.B
GOSUBL NEXT.ROW GOSUBL NEXT.STR
GOTO L.03
**DISP.OBJ LC [OBJ.Y]-1 D=C.B DO { LC [OBJ.X]/4-1 CPEX.0 A=DAT1.WP DAT0=A.WP P= 0 D0=D0+ 34 AD1EX LC [OBJ.X]/4*3 A=A+C.A AD1EX D--.B } WHILENC RTN
*NEXT.ROW D0= 0017B A=DAT0.A LC [OBJ.X]/4*[SIZ.X]-[OBJ.X]/4 A=A-C.A LC [OBJ.Y]*00034d A=A+C.A DAT0=A.A RTN
*NEXT.STR D0= 0016C A=DAT0.A LC [SIZ.X]*2-2 A=A-C.A LC [MAX.X]*2 A=A+C.A DAT0=A.A RTN
@