📄 newgfx2.asm
字号:
drawlineng2bwin: WinClipMacro Processwinclip2b drawlineng tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03hProcesswinclip2b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlinengwin tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng2bwin.winclipped jmp drawlineng2bwin.loopNEWSYM drawlineng4b cmp byte[ngwinen],1 je near drawlineng4bwin mov byte[tleftn],33.loop mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .finline drawlineng tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh retdrawlineng4bwin: WinClipMacro Processwinclip4b drawlineng tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclip4b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlinengwin tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng4bwin.winclipped jmp drawlineng4bwin.loopNEWSYM drawlineng8b cmp byte[ngwinen],1 je near drawlineng8bwin mov byte[tleftn],33.loop mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .finline drawlineng tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh retdrawlineng8bwin: WinClipMacro Processwinclip8b drawlineng tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFhProcesswinclip8b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlinengwin tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng8bwin.winclipped jmp drawlineng8bwin.loop;******************************************; 16x16 tiles - line by line engine;******************************************NEWSYM drawlineng16x162b cmp byte[ngwinen],1 je near drawlineng16x162bwin mov byte[tleftn],17.loop mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .finline drawlineng16x16 tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h retdrawlineng16x162bwin: WinClipMacro16x16 Processwinclip16x162b drawlineng16x16 tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03hProcesswinclip16x162b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlineng16x16win tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng16x162bwin.winclipped jmp drawlineng16x162bwin.loopNEWSYM drawlineng16x164b cmp byte[ngwinen],1 je near drawlineng16x164bwin mov byte[tleftn],17.loop mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .finline drawlineng16x16 tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh retdrawlineng16x164bwin: WinClipMacro16x16 Processwinclip16x164b drawlineng16x16 tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclip16x164b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlineng16x16win tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng16x164bwin.winclipped jmp drawlineng16x164bwin.loopNEWSYM drawlineng16x168b cmp byte[ngwinen],1 je near drawlineng16x168bwin mov byte[tleftn],17.loop mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .finline drawlineng16x16 tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh retdrawlineng16x168bwin: WinClipMacro16x16 Processwinclip16x168b drawlineng16x16 tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFhProcesswinclip16x168b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .finline drawlineng16x16win tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlineng16x168bwin.winclipped jmp drawlineng16x168bwin.loopNEWSYM drawlineng16x84b mov byte[tleftn],33.loop2b mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .fintile2b drawlineng16x8 tltype4b, preparet4ba, cachesingle4bng,.loop2b,.fintile2b,ngpalcon4b,test4ba,0FhNEWSYM drawlineng16x82b mov byte[tleftn],33.loopb2b mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .fintileb2b drawlineng16x8 tltype2b, preparet2ba, cachesingle2bng,.loopb2b,.fintileb2b,ngpalcon2b,test2ba,03h%macro WinClipMacroom 1 mov byte[tleftn],33 mov dword[ngcwinptr],ngwintable mov dword[ngcwinmode],0 cmp dword[ngwintable],0 jne near .loop add dword[ngcwinptr],4 mov dword[ngcwinmode],1.winclipped mov ebx,[ngcwinptr] cmp dword[ebx],8 jbe near %1 sub dword[ebx],8 mov ebx,[cbgval] add word[ofsmmptr],2 inc dword[bg1totng+ebx*4] add word[ofsmtptr],2 mov ax,[ofsmmptr] mov ebx,[yposngom] mov edx,[flipyposngom] mov [yposng],ebx mov [flipyposng],edx add edi,8 test eax,03Fh jnz .next mov bx,[bgtxadd] add ax,bx add [ofsmmptr],bx add word[ofsmtptr],bx.next mov ebx,[ofsmcptr] add ebx,[ofsmcptr2] mov ecx,[ofsmval] add dword[ofshvaladd],8 test dword[ebx],ecx jz .noofsm2 mov ebx,[ebx] mov ax,[ofsmtptr] and ebx,3FFh add ebx,[ofsmcyps] test ebx,100h jz .noupper2 add ax,[ofsmady].noupper2 and ebx,0FFh mov edx,ebx shr ebx,3 and edx,07h shl ebx,6 shl edx,3 add ax,bx mov [yposng],edx xor edx,38h mov [flipyposng],edx.noofsm2 mov ebx,[ofsmcptr] add ebx,[ofsmcptr2] add dword[ofsmcptr2],2 mov ecx,[ofsmvalh] and dword[ofsmcptr2],3Fh test dword[ebx-40h],ecx jz .noofsmh mov ebx,[ebx-40h] sub ax,[ofsmtptr] add ax,[ofsmtptrs] add ebx,[ofshvaladd] test ebx,100h jz .noleft add ax,[ofsmadx].noleft and ebx,0F8h shr ebx,2 add ax,bx.noofsmh dec byte[tleftn] jnz near .winclipped pop ebx cmp byte[curmosaicsz],1 jne near domosaicng ret.loop mov ebx,[ngcwinptr] mov cx,[vrama+eax] cmp dword[ebx],8 jbe near %1 sub dword[ebx],8 xor ecx,[ng16bprval] test ecx,2000h jnz near .finline%endmacroNEWSYM drawlinengom4b cmp byte[ngwinen],1 je near drawlinengom4bwin mov byte[tleftn],33.loopd mov cx,[vrama+eax] xor ecx,[ng16bprval] test ecx,2000h jnz near .fintiled drawlinengom tltype4b, preparet4ba, cachesingle4bng,.loopd,.fintiled,ngpalcon4b,test4ba,0Fhdrawlinengom4bwin: WinClipMacroom Processwinclipom4b drawlinengom tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclipom4b: mov ebx,[ngcwinptr] mov cx,[vrama+eax] mov ebx,[ebx] xor ecx,[ng16bprval] mov [ngcpixleft],ebx test ecx,2000h jnz near .fintiled drawlinengomwin tltype4b, preparet4ba, cachesingle4bng,.loop,.fintiled,ngpalcon4b,test4ba,0Fh.loop push eax mov ebx,[ngcwinptr] mov eax,[ngcpixleft] mov [ebx],eax pop eax cmp dword[ngcwinmode],1 je near drawlinengom4bwin.winclipped jmp drawlinengom4bwin.loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -