R_DrawTlucSub   proc near                     R_DrawMVisSub   proc near
                pusha                                         pusha
                mov     esi, eax                              mov     esi, eax
                mov     ebp, edx                              mov     ebp, edx
                mov     edi, ebx                              mov     edi, ebx
                mov     edx, xlatab                           mov     edx, xlatab
                mov     ebx, dc_source                        mov     ebx, dc_source
                mov     ecx, dc_colormap                      mov     ecx, dc_colormap
                add     edi, 1                                add     edi, 1
                jmp     short loc_12090                       jmp     short loc_120D8
                align 10h                                     align 8
loc_12090:                                    loc_120D8:
                mov     eax, ebp                              mov     eax, ebp
                sar     eax, 10h                              sar     eax, 10h
                and     eax, 7Fh                              and     eax, 7Fh
                add     eax, ebx                              add     eax, ebx
                mov     cl, [eax]                             mov     cl, [eax]
                mov     dl, [ecx]                             mov     dh, [ecx]
                mov     dh, [esi]                             mov     dl, [esi]
                mov     dl, [edx]                             mov     dl, [edx]
                mov     [esi], dl                             mov     [esi], dl
                add     esi, 50h ; 'P'                        add     esi, 50h ; 'P'
                add     ebp, dc_iscale                        add     ebp, dc_iscale
                sub     edi, 1                                sub     edi, 1
                jnz     short loc_12090                       jnz     short loc_120D8
                popa                                          mov     eax, eax
                retn                                          popa
R_DrawTlucSub   endp                                          retn
                                              R_DrawMVisSub   endp


R_DrawTLColumn  proc near                     R_DrawMVisTLColumn proc near
                push    ebx                                   push    ebx
                push    ecx                                   push    ecx
                push    edx                                   push    edx
                push    edi                                   push    edi
                push    ebp                                   push    ebp
                cmp     dc_yl, 0                              cmp     dc_yl, 0
                jnz     short loc_32528                       jnz     short loc_325F0
                mov     dc_yl, 1                              mov     dc_yl, 1
loc_32528:                                    loc_325F0:
                mov     eax, viewheight                       mov     eax, viewheight
                mov     ecx, dc_yh                            mov     ecx, dc_yh
                dec     eax                                   dec     eax
                cmp     eax, ecx                              cmp     eax, ecx
                jnz     short loc_32545                       jnz     short loc_3260D
                mov     eax, viewheight                       mov     eax, viewheight
                sub     eax, 2                                sub     eax, 2
                mov     dc_yh, eax                            mov     dc_yh, eax
loc_32545:                                    loc_3260D:
                mov     ebx, dc_yh                            mov     ebx, dc_yh
                sub     ebx, dc_yl                            sub     ebx, dc_yl
                test    ebx, ebx                              test    ebx, ebx
                jl      short loc_325D2                       jl      short loc_3269A
                mov     edx, dc_x                             mov     edx, dc_x
                and     edx, 3                                and     edx, 3
                shl     edx, 8                                shl     edx, 8
                mov     eax, 3CEh                             mov     eax, 3CEh
                add     edx, 4                                add     edx, 4
                call    outpw_                                call    outpw_
                mov     ecx, dc_x                             mov     ecx, dc_x
                mov     edx, 1                                mov     edx, 1
                and     ecx, 3                                and     ecx, 3
                mov     eax, 3C5h                             mov     eax, 3C5h
                shl     edx, cl                               shl     edx, cl
                call    outp_                                 call    outp_
                mov     edx, dc_yl                            mov     edx, dc_yl
                lea     eax, ds:0[edx*4]                      lea     eax, ds:0[edx*4]
                mov     ecx, dc_x                             mov     ecx, dc_x
                add     eax, edx                              add     eax, edx
                mov     edx, destview                         mov     edx, destview
                shl     eax, 4                                shl     eax, 4
                sar     ecx, 2                                sar     ecx, 2
                add     eax, edx                              add     eax, edx
                mov     edi, centery                          mov     edi, centery
                add     ecx, eax                              add     ecx, eax
                mov     eax, dc_yl                            mov     eax, dc_yl
                mov     edx, dc_iscale                        mov     edx, dc_iscale
                sub     eax, edi                              sub     eax, edi
                imul    edx, eax                              imul    edx, eax
                mov     ebp, dc_texturemid                    mov     ebp, dc_texturemid
                mov     eax, ecx                              mov     eax, ecx
                add     edx, ebp                              add     edx, ebp
                call    R_DrawTlucSub                         call    R_DrawMVisSub
loc_325D2:                                    loc_3269A:
                pop     ebp                                   pop     ebp
                pop     edi                                   pop     edi
                pop     edx                                   pop     edx
                pop     ecx                                   pop     ecx
                pop     ebx                                   pop     ebx
                retn                                          retn
R_DrawTLColumn  endp                          R_DrawMVisTLColumn endp