C MENAGE SOURCE PV 13/04/12 21:15:44 7756 C SUPPRIMER LES SEGMENTS INDESIRABLES C SUBROUTINE MENAGE(IAUTOM) * IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC TMLCHA8 -INC SMELEME -INC CCNOYAU -INC CCASSIS -INC SMTABLE -INC SMLENTI -INC SMCOORD SEGMENT ITLAC(0) INTEGER OOOVAL * CHARACTER*4 CMOT CHARACTER*8 TYPE SAVE IPLAOC,MACTIP DATA IPLAOC /0/ * call lircha(cmot, 0,iretou) if( iretou.ne.0) then if( cmot .eq.'OBLI')go to 1 call refus endif if(iautom.eq.0) then IF(IPLAOC.EQ.0) THEN IPLAOC= OOOVAL(3,1) MACTIP= OOOVAL(3,3) RETURN ELSE IPLAOB=OOOVAL(3,1) IF( IPLAOB . LT . IPLAOC + MACTIP*0.05) RETURN ENDIF call chleha(1,0,0,0) iautom=1 endif 1 CONTINUE * horodatage call ooohor(0,0) C * attention aux assistants .... if (NBESC.NE.0) then if (iimpi .eq. 1234) & write(ioimp,*) ' il faut bloquer les assistants' mestra=imestr SEGACT MESTRA*MOD if (iimpi .eq. 1234) & write(ioimp,*) ' assistants en attente' * on passe en mode force call ooofrc(1) * lodesl=.true. call setass(1) end if * on passe en mode force * on met NOMLU a 1 pour bloquer le decodage des instructions NOMLUS=NOMLU nomlu=1 segini itlac call ecrcha('NOOP') call tasspo(itlac,icolac,meleme,1) segdes meleme * * icolac ,cree dans tasspo pointe sur les piles d'objets accessibles * CALL MENAG5(ICOLAC,0) * * QUELLE PLACE RESTE T'IL MAINTENANT IPLAOC=OOOVAL(3,1) IF(IIMPI.NE.0) write(IOIMP,12) IPLAOB,IPLAOC 12 FORMAT( ' place occupée avant apres ',2I8) * CALL PLAC * CALL LIRENT(IPLRES,1,IRETOU) * EST-CE SUFFISANT ?? * INTERR(1)=IPLRES * IF (IPLADE.NE.0.AND.IPLRES.LT.IPLADE) CALL ERREUR(436) * restauration de nomlu NOMLU=NOMLUS C * attention aux assistants .... if (NBESC.NE.0) then C * il faut liberer le segment de dialogue mestra=imestr * repasser en mode normal call ooofrc(0) SEGDES MESTRA * lodesl=.false. call setass(0) end if C JYY SEGDES MCOORD END