forked from KolibriOS/kolibrios
IRCc 0.34: Faster text drawing, add some server command codes related to WHOIS reply.
git-svn-id: svn://kolibrios.org@9092 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a188a171dd
commit
ae553821c2
@ -13,7 +13,7 @@
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
version equ '0.33'
|
||||
version equ '0.34'
|
||||
|
||||
; connection status
|
||||
STATUS_DISCONNECTED = 0
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2018. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; Written by hidnplayr@kolibrios.org ;;
|
||||
@ -65,7 +65,9 @@ server_commands:
|
||||
|
||||
dd '311 ', cmd_justprint ; RPL_WHOISUSER
|
||||
dd '312 ', cmd_justprint ; RPL_WHOISSERVER
|
||||
dd '317 ', cmd_justprint ; RPL_WHOISIDLE
|
||||
dd '318 ', cmd_justprint ; RPL_ENDOFWHOIS
|
||||
dd '319 ', cmd_justprint ; RPL_WHOISCHANNELS
|
||||
dd '322 ', cmd_322 ; RPL_LIST
|
||||
dd '323 ', cmd_323 ; RPL_LISTEND
|
||||
dd '324 ', cmd_justprint ; RPL_CHANNELMODEIS
|
||||
@ -74,6 +76,7 @@ server_commands:
|
||||
dd '330 ', cmd_justprint
|
||||
dd '332 ', cmd_topic ; topic
|
||||
dd '333 ', cmd_333 ; nickname and time of topic
|
||||
dd '338 ', cmd_justprint ; RPL_CHANPASSOK
|
||||
dd '353 ', cmd_353 ; name reply
|
||||
dd '366 ', cmd_366 ; end of names list
|
||||
dd '372 ', cmd_justprint ; motd
|
||||
@ -83,6 +86,7 @@ server_commands:
|
||||
dd '432 ', cmd_justprint ; erroneous nickname
|
||||
dd '433 ', cmd_justprint ; nickname already in use
|
||||
dd '436 ', cmd_justprint ; nickname collision
|
||||
dd '671 ', cmd_justprint ; RPL_WHOISSECURE
|
||||
|
||||
dd 'join', cmd_join
|
||||
dd 'kick', cmd_kick
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; Written by hidnplayr@kolibrios.org ;;
|
||||
@ -175,6 +175,12 @@ print_char:
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------
|
||||
; Draw text of the current window to the screen
|
||||
;
|
||||
; IN: /
|
||||
; OUT: /
|
||||
;-----------------------------------------------
|
||||
draw_channel_text:
|
||||
|
||||
mov edi, [window_active]
|
||||
@ -312,7 +318,6 @@ draw_channel_text:
|
||||
popa
|
||||
|
||||
push eax
|
||||
mov esi, [textbox_width]
|
||||
.line:
|
||||
cmp byte[edx], 0
|
||||
je .end_of_text
|
||||
@ -321,7 +326,6 @@ draw_channel_text:
|
||||
cmp byte[edx], 10
|
||||
je .newline_hard
|
||||
|
||||
push esi
|
||||
cmp byte[edx], 3 ; escape code for mIRC colors
|
||||
jne .no_colors
|
||||
inc edx
|
||||
@ -339,30 +343,47 @@ draw_channel_text:
|
||||
or ecx, 0x40000000
|
||||
.no_colors:
|
||||
|
||||
mov esi, 1
|
||||
mcall 4 ; draw text
|
||||
;-------------------------------------------
|
||||
; Count characters until 0, 10, 13 or 3 byte
|
||||
|
||||
mov esi, 1
|
||||
push edx
|
||||
xor esi, esi
|
||||
dec esi
|
||||
.next_char:
|
||||
inc esi
|
||||
cmp esi, [textbox_width]
|
||||
je .cnt_done
|
||||
mov al, byte[edx]
|
||||
cmp al, 13
|
||||
jbe .cnt_done
|
||||
|
||||
inc edx
|
||||
test al, 10000000b
|
||||
jz @f
|
||||
mov esi, 4
|
||||
jz .next_char ; 1 byte wide
|
||||
|
||||
add edx, 4
|
||||
and al, 11111000b
|
||||
cmp al, 11110000b
|
||||
je @f
|
||||
dec esi
|
||||
je .next_char ; 4 bytes wide
|
||||
|
||||
dec edx
|
||||
and al, 11110000b
|
||||
cmp al, 11100000b
|
||||
je @f
|
||||
dec esi
|
||||
@@:
|
||||
je .next_char ; 3 bytes wide
|
||||
dec edx ; 2 bytes wide
|
||||
jmp .next_char
|
||||
.cnt_done:
|
||||
mov eax, edx
|
||||
pop edx
|
||||
push eax
|
||||
mcall 4 ; draw text
|
||||
pop edx ; next start ptr
|
||||
|
||||
add ebx, FONT_WIDTH shl 16
|
||||
add edx, esi
|
||||
pop esi
|
||||
dec esi
|
||||
jnz .line
|
||||
jmp .line_full
|
||||
cmp esi, [textbox_width]
|
||||
je .line_full
|
||||
imul esi, FONT_WIDTH shl 16
|
||||
add ebx, esi
|
||||
jmp .line
|
||||
|
||||
.newline_hard:
|
||||
mov ecx, [colors.work_text]
|
||||
|
Loading…
Reference in New Issue
Block a user