;ŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪŪ ; S u b r o u t i n e _SBuffPicFill proc near ; CODE XREF: _PicFill+8p push si call _CalcScreenOff push es mov es, SBuff_Seg mov bh, SBuffDrawMask mov bl, 4Fh ; 'O' test bh, 0Fh jz loc_cseg_5292 mov dl, 0Fh cmp Colour_PictPart, 0Fh jz fill_finish1 jmp short loc_cseg_52A3 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_5292: ; CODE XREF: _SBuffPicFill+12j test bh, 0F0h jz fill_finish1 mov dl, 0F0h ; 'š' cmp Colour_PriPart, 40h ; '@' jnz loc_cseg_52A3 fill_finish1: ; CODE XREF: _SBuffPicFill+1Bj ; _SBuffPicFill+22j _SBuffPicFill+39j jmp fill_finish2 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_52A3: ; CODE XREF: _SBuffPicFill+1Dj ; _SBuffPicFill+2Bj and bl, dl mov al, es:[di] and al, dl cmp al, bl jnz fill_finish1 push bp mov ax, 0FFFFh push ax push ax push ax push ax mov left, 0A1h ; '”' mov right, 0 mov direction, 1 mov toggle, 0 loc_cseg_52CA: ; CODE XREF: _SBuffPicFill+161j mov ax, word ptr right mov word ptr old_right, ax mov ax, word ptr toggle mov old_toggle, ax mov ax, word ptr InitPicPosOrY mov old_initx, ah mov cl, ah mov ah, PriPicCol_Odd test al, 1 jnz loc_cseg_52EB mov ah, PriPicCol_Even loc_cseg_52EB: ; CODE XREF: _SBuffPicFill+72j mov bp, di xor ch, ch inc cx mov al, es:[di] std loc_cseg_52F4: ; CODE XREF: _SBuffPicFill+8Fj or al, bh and al, ah stosb mov al, es:[di] mov dh, al and dh, dl cmp dh, bl loope loc_cseg_52F4 inc di mov cx, di sub cx, bp mov al, InitPicX add cl, al mov left, cl mov InitPicX, cl xchg bp, di inc di mov cx, 9Fh ; 'Ÿ' sub cl, al cld jcxz loc_cseg_5333 loc_cseg_5321: ; CODE XREF: _SBuffPicFill+BEj mov al, es:[di] mov dh, al and dh, dl cmp dh, bl jnz loc_cseg_5333 or al, bh and al, ah stosb loop loc_cseg_5321 loc_cseg_5333: ; CODE XREF: _SBuffPicFill+ACj ; _SBuffPicFill+B7j mov ax, di sub ax, bp dec al add al, left mov right, al cmp old_left, 0A1h ; '”' jz loc_cseg_5391 cmp al, old_right jz loc_cseg_5359 ja loc_cseg_5376 mov old_initx, al mov toggle, 0 jmp short loc_cseg_5381 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_5359: ; CODE XREF: _SBuffPicFill+D8j mov al, left cmp al, old_left jnz loc_cseg_5376 cmp toggle, 1 jz loc_cseg_5391 mov toggle, 1 mov al, right mov old_initx, al jmp short loc_cseg_5381 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_5376: ; CODE XREF: _SBuffPicFill+DAj ; _SBuffPicFill+EDj mov toggle, 0 mov al, old_right mov old_initx, al loc_cseg_5381: ; CODE XREF: _SBuffPicFill+E4j ; _SBuffPicFill+101j push old_toggle push word ptr direction push word ptr old_inity push word ptr old_right loc_cseg_5391: ; CODE XREF: _SBuffPicFill+D2j ; _SBuffPicFill+F4j mov al, direction mov old_direction, al mov al, InitPicPosOrY mov old_inity, al loc_cseg_539D: ; CODE XREF: _SBuffPicFill+1E6j add al, direction mov InitPicPosOrY, al cmp al, 0A7h ; '§' ja loc_cseg_5413 loc_cseg_53A8: ; CODE XREF: _SBuffPicFill+19Ej mov ax, word ptr InitPicPosOrY xor ch, ch mov cl, al mov di, cx shl di, 1 shl di, 1 shl di, 1 shl cx, 1 add di, cx shl di, 1 shl di, 1 shl di, 1 shl di, 1 xor ch, ch mov cl, ah add di, cx mov al, es:[di] mov dh, al and dh, dl cmp dh, bl jnz loc_cseg_53D7 jmp loc_cseg_52CA ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_53D7: ; CODE XREF: _SBuffPicFill+15Fj mov al, InitPicX mov ah, direction cmp ah, old_direction jz loc_cseg_5406 cmp toggle, 1 jz loc_cseg_5406 cmp al, stack_left jb loc_cseg_5406 mov ah, stack_right cmp al, ah ja loc_cseg_5406 mov al, ah cmp al, right jnb loc_cseg_5413 inc al mov InitPicX, al loc_cseg_5406: ; CODE XREF: _SBuffPicFill+16Fj ; _SBuffPicFill+176j ; _SBuffPicFill+17Cj ; _SBuffPicFill+184j cmp al, right jnb loc_cseg_5413 inc al mov InitPicX, al jmp short loc_cseg_53A8 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_5413: ; CODE XREF: _SBuffPicFill+133j ; _SBuffPicFill+18Cj ; _SBuffPicFill+197j mov al, direction cmp al, old_direction jnz loc_cseg_5436 cmp toggle, 0 jnz loc_cseg_5436 neg al mov direction, al mov al, left mov InitPicX, al mov al, old_inity mov InitPicPosOrY, al jmp short loc_cseg_5450 ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_cseg_5436: ; CODE XREF: _SBuffPicFill+1A7j ; _SBuffPicFill+1AEj pop word ptr right pop word ptr InitPicPosOrY pop word ptr direction pop word ptr toggle mov al, InitPicPosOrY cmp al, 0FFh jz fill_finish3 mov old_inity, al loc_cseg_5450: ; CODE XREF: _SBuffPicFill+1C1j mov bp, sp mov cx, [bp+0] mov word ptr stack_right, cx jmp loc_cseg_539D ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ fill_finish3: ; CODE XREF: _SBuffPicFill+1D8j pop bp fill_finish2: ; CODE XREF: _SBuffPicFill+2Dj pop es pop si retn _SBuffPicFill endp