Outlaws-FX_Total_Eclipse/SRC/INTRO2.PAS

72 lines
1.2 KiB
ObjectPascal

Unit Intro2;
Interface
Procedure IntroASM;
Implementation
Uses
CRT,DOS,GRAPHVGA,LibUses;
Var
pct : imageinfo;
Spt : Word;
Procedure CopyBob(Y1,Y2 : word);
Var
X,Y : word;
Begin
asm
{ Calcul des pts de depart }
Push DS
Mov AX,Y2
mov BX,320
Mul bx
Mov DI,AX { DI = DI + 289 (320-31) }
Mov AX,Y1
Mul BX
Mov SI,AX { SI = SI + 289 (320-31) }
Mov AX,0A000h {WriteS}
Mov ES,AX
Mov AX,SPt
Mov DS,AX
Mov DX,39
@@B1: Mov CX,160
Rep MovsW
dec DX
jnz @@B1
Pop DS
end;
End;
Procedure initFont;
begin
InitGraph(VGA);
LoadImage(Title_Logo,Pct);
PutImage(Pct,1);
Delay(1000);
FadeOut(0,$FF,1);
FillChar(Screen^,64000,0);
Freeimage(Pct);
LoadImage(Title_txt,Pct);
Spt := Seg(Pct.Picture^);
end;
Procedure IntroAsm;
Var
C : Byte;
Begin
initFont;
C := 0;
PaletteOff;
While (c<39+(4*40)) do
Begin
CopyBob(C,80);
fadein(0,4,Pct.Palette,1);
delay(1500);
fadeWhite(1,4,1);
Fadeout(0,4,1);
inc(C,40);
End;
FreeImage(Pct);
end;
End.