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 ?C‹0.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 ?C‹0.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
@

 

Retour