51 lines
728 B
PHP
51 lines
728 B
PHP
|
macro use_label
|
||
|
{
|
||
|
draw_label:
|
||
|
pusha
|
||
|
xor esi,esi
|
||
|
mov edx,[edi+8]
|
||
|
.check_next:
|
||
|
mov ah,[edx+esi]
|
||
|
inc esi
|
||
|
test ah,ah
|
||
|
jz @f
|
||
|
jmp .check_next
|
||
|
@@:
|
||
|
mov eax,4
|
||
|
mov ebx,[edi]
|
||
|
mov ecx,[edi+4]
|
||
|
int 0x40
|
||
|
popa
|
||
|
ret
|
||
|
}
|
||
|
|
||
|
struc label left,top,color,text
|
||
|
{
|
||
|
.top: dw top ; +0
|
||
|
.left: dw left ; +2
|
||
|
.color: dd color; +4
|
||
|
.text: dd text ; +8
|
||
|
}
|
||
|
|
||
|
l_struc_size=12
|
||
|
macro draw_labels start,end
|
||
|
{
|
||
|
mov edi,start
|
||
|
mov ecx,((end-start)/l_struc_size)
|
||
|
@@:
|
||
|
call draw_label
|
||
|
add edi,l_struc_size
|
||
|
loop @r
|
||
|
}
|
||
|
|
||
|
macro labels_set_sys_color start,end,color_table
|
||
|
{
|
||
|
mov edi,start
|
||
|
mov ecx,((end-start)/l_struc_size)
|
||
|
mov esi,color_table
|
||
|
@@:
|
||
|
push dword [esi+32]
|
||
|
pop dword [edi+4]
|
||
|
add edi,l_struc_size
|
||
|
loop @r
|
||
|
}
|