171,11 → 171,13 |
cmd_justprint: |
|
add esi, 4 |
call skip_parameter |
call print_text2 |
mov esi, str_newline |
call print_text2 |
call skip_parameter ; our nickname |
|
call print_asciiz |
|
mov al, 10 |
call print_char |
|
ret |
|
|
191,12 → 193,12 |
mov byte [esi-1], 0 |
push esi |
mov esi, str_1 |
call print_text2 |
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
call print_asciiz |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
mov esi, str_2 |
call print_text2 |
call print_asciiz |
pop esi |
|
.gogogo: |
203,10 → 205,10 |
add esi, 6 |
call skip_parameter |
call skip_parameter |
call print_text2 |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
ret |
|
251,6 → 253,8 |
push esi |
mov esi, servercommand+1 |
call window_open |
test ebx, ebx |
jz .fail2 |
pop esi |
call skip_parameter ; our own nickname |
|
261,6 → 265,8 |
|
.channel: |
call window_open |
test ebx, ebx |
jz .fail |
|
.print: |
; nope, just plain old privmsg, print it using '<nick> message' format |
269,25 → 275,29 |
end if |
|
push esi |
mov bl, '<' |
call print_character |
mov al, '<' |
call print_char |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov bl, '>' |
call print_character |
mov al, '>' |
call print_char |
|
mov bl, ' ' |
call print_character |
mov al, ' ' |
call print_char |
|
pop esi |
call print_text2 |
call print_asciiz |
|
mov bl, 10 |
call print_character |
mov al, 10 |
call print_char |
|
ret |
|
.fail2: |
pop esi |
.fail: |
ret |
|
355,13 → 365,13 |
end if |
|
mov esi, ctcp_header |
call print_text2 |
call print_asciiz |
|
mov esi, servercommand+1 |
call print_text2 |
call print_asciiz |
|
mov esi, ctcp_time |
call print_text2 |
call print_asciiz |
|
ret |
|
374,13 → 384,13 |
end if |
|
mov esi, ctcp_header |
call print_text2 |
call print_asciiz |
|
mov esi, servercommand+1 |
call print_text2 |
call print_asciiz |
|
mov esi, ctcp_version |
call print_text2 |
call print_asciiz |
|
ret |
|
392,13 → 402,13 |
end if |
|
mov esi, ctcp_header |
call print_text2 |
call print_asciiz |
|
mov esi, servercommand+1 |
call print_text2 |
call print_asciiz |
|
mov esi, ctcp_ping |
call print_text2 |
call print_asciiz |
|
ret |
|
411,20 → 421,20 |
end if |
|
mov esi, action_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 ; print nickname |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 ; print nickname |
mov bl, '!' |
call print_string |
|
mov bl, ' ' |
call print_character |
mov al, ' ' |
call print_char |
|
pop esi |
call print_text2 ; print message |
call print_asciiz |
|
mov bl, 10 |
call print_character |
mov al, 10 |
call print_char |
|
ret |
|
440,10 → 450,13 |
ret |
|
.send: |
|
call window_open |
test ebx, ebx |
jz .fail |
mov [ebx + window.type], WINDOWTYPE_DCC |
|
.fail: |
|
ret |
|
|
520,6 → 533,8 |
.not_me: |
push esi |
call window_open |
test ebx, ebx |
jz .fail2 |
|
if TIMESTAMP |
call print_timestamp |
526,21 → 541,20 |
end if |
|
mov esi, part_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
mov cl, ' ' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, has_left_channel |
call print_text2 |
call print_asciiz |
|
pop esi |
call print_text2 |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
mov ebx, [window_print] |
mov esi, servercommand+1 |
548,8 → 562,13 |
|
ret |
|
.fail2: |
pop esi |
|
ret |
|
|
|
cmd_join: |
|
cmp byte[esi+4], ' ' |
556,7 → 575,7 |
jne .fail |
add esi, 5 ; skip 'JOIN ' |
|
; compare nick: did we join a channel? |
; did we join a channel? |
mov edi, servercommand+1 |
call compare_to_nick |
jne .not_me |
563,7 → 582,7 |
|
push esi |
call window_open |
test eax, eax |
test ebx, ebx |
jz .fail |
mov [ebx + window.type], WINDOWTYPE_CHANNEL |
mov [window_active], ebx |
573,17 → 592,17 |
end if |
|
mov esi, join_header |
call print_text2 |
call print_asciiz |
|
mov esi, str_talking |
call print_text2 |
call print_asciiz |
|
pop eax |
mov dl, ' ' |
call print_text |
pop esi |
mov bl, ' ' |
call print_string |
|
mov esi, str_dotnewline |
call print_text2 |
mov al, 10 |
call print_char |
|
call draw_window |
|
592,6 → 611,8 |
.not_me: |
push esi |
call window_open |
test ebx, ebx |
jz .fail |
|
if TIMESTAMP |
call print_timestamp |
598,20 → 619,20 |
end if |
|
mov esi, join_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, joins_channel |
call print_text2 |
call print_asciiz |
|
pop esi |
call print_text2 |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
mov ebx, [window_print] |
mov esi, servercommand+1 |
620,7 → 641,7 |
ret |
|
.fail: |
add esp, 4 |
pop esi |
ret |
|
|
690,20 → 711,20 |
end if |
|
mov esi, nick_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, is_now_known_as |
call print_text2 |
call print_asciiz |
|
mov esi, [esp + 8] ; FIXME: dont print the 0x0a0d!!! |
call print_text2 |
mov esi, [esp + 8] |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
; Now do this for all open windows |
.next_window: |
734,6 → 755,8 |
; find the channel user has been kicked from |
push esi |
call window_open |
test ebx, ebx |
jz .fail |
push esi |
|
if TIMESTAMP |
741,34 → 764,37 |
end if |
|
mov esi, kick_header |
call print_text2 |
call print_asciiz |
|
pop eax |
mov dl, ' ' |
call print_text |
pop esi |
mov bl, ' ' |
call print_string |
|
mov esi, str_kicked |
call print_text2 |
call print_asciiz |
|
pop eax |
mov dl, ' ' |
call print_text |
pop esi |
mov bl, ' ' |
call print_string |
|
mov esi, str_by |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, str_dotnewline |
call print_text2 |
mov al, 10 |
call print_char |
|
mov ebx, [window_print] |
mov esi, servercommand+1 |
call user_remove |
|
ret |
|
.fail: |
pop esi |
|
ret |
|
800,14 → 826,14 |
end if |
|
mov esi, quit_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, has_quit_irc |
call print_text2 |
call print_asciiz |
|
; TODO: check if quit message was given, and print it to the window |
pop ebx |
841,20 → 867,20 |
end if |
|
mov esi, mode_header |
call print_text2 |
call print_asciiz |
|
mov eax, servercommand+1 |
mov dl, '!' |
call print_text |
mov esi, servercommand+1 |
mov bl, '!' |
call print_string |
|
mov esi, sets_mode |
call print_text2 |
call print_asciiz |
|
pop esi |
call print_text2 |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
; TODO: keep track of user modes in username list |
|
868,21 → 894,21 |
end if |
|
mov esi, mode_header |
call print_text2 |
call print_asciiz |
|
mov eax, [esp] |
mov dl, ' ' |
call print_text |
mov esi, [esp] |
mov bl, ' ' |
call print_string |
|
mov esi, sets_mode |
call print_text2 |
call print_asciiz |
|
pop esi |
call skip_parameter |
call print_text2 |
call print_asciiz |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
ret |
|
894,6 → 920,8 |
inc esi ; channel type '*', '=' or '@' |
inc esi ; ' ' |
call window_open |
test ebx, ebx |
jz .fail |
|
; now find window ptr and check if this is the first 353 message |
mov ebx, [window_print] |
919,6 → 947,7 |
|
.done: |
call draw_channel_list |
.fail: |
|
ret |
|
931,9 → 960,10 |
add esi, 4 ; skip '366 ' |
call skip_parameter |
call window_open |
|
mov ebx, [window_print] |
test ebx, ebx |
jz .fail |
and [ebx + window.flags], not FLAG_RECEIVING_NAMES |
.fail: |
|
ret |
|
945,6 → 975,8 |
add esi, 4 ; skip '332 ' |
call skip_parameter |
call window_open |
test ebx, ebx |
jz .fail |
|
if TIMESTAMP |
call print_timestamp |
952,17 → 984,19 |
|
push esi |
mov esi, topic_header |
call print_text2 |
call print_asciiz |
|
mov esi, str_topic |
call print_text2 |
call print_asciiz |
|
pop esi |
call print_text2 |
call print_asciiz |
|
mov esi, str_topic_end |
call print_text2 |
call print_asciiz |
|
.fail: |
|
ret |
|
|
971,6 → 1005,8 |
add esi, 4 ; skip '333 ' |
call skip_parameter |
call window_open |
test ebx, ebx |
jz .fail |
|
if TIMESTAMP |
call print_timestamp |
978,35 → 1014,49 |
|
push esi |
mov esi, topic_header |
call print_text2 |
call print_asciiz |
|
mov esi, str_setby |
call print_text2 |
call print_asciiz |
|
pop eax |
mov dl, '!' |
call print_text |
pop esi |
mov bl, '!' |
call print_string |
|
mov esi, str_newline |
call print_text2 |
mov al, 10 |
call print_char |
|
.fail: |
|
ret |
|
|
|
cmd_322: ; LIST |
|
add esi, 4 |
|
mov [window_print], windows ; FIXME |
call skip_parameter |
mov eax, esi |
mov dl, 13 |
call print_text |
mov esi, str_newline |
call print_text2 |
|
push esi |
mov esi, str_list |
call window_open |
test ebx, ebx |
jz .fail |
|
mov [window_active], ebx |
call draw_windowtabs |
pop esi |
call print_asciiz |
mov al, 10 |
call print_char |
|
ret |
|
.fail: |
pop esi |
|
ret |
|
cmd_323: ; LIST END |
|
ret |