Rev 4617 | Rev 4623 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4617 | Rev 4622 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | jmp dword[edi] |
45 | jmp dword[edi] |
Line 46... | Line 46... | ||
46 | 46 | ||
Line -... | Line 47... | ||
- | 47 | ||
- | 48 | server_commands: |
|
- | 49 | ||
- | 50 | dd '001 ', cmd_justprint |
|
- | 51 | dd '002 ', cmd_justprint |
|
- | 52 | dd '003 ', cmd_justprint |
|
- | 53 | dd '004 ', cmd_justprint |
|
- | 54 | dd '005 ', cmd_justprint |
|
- | 55 | ||
- | 56 | dd '250 ', cmd_justprint |
|
- | 57 | dd '251 ', cmd_justprint |
|
- | 58 | dd '252 ', cmd_justprint |
|
- | 59 | dd '253 ', cmd_justprint |
|
- | 60 | dd '254 ', cmd_justprint |
|
- | 61 | dd '255 ', cmd_justprint |
|
- | 62 | ||
47 | 63 | dd '265 ', cmd_justprint |
|
48 | server_commands: |
64 | dd '266 ', cmd_justprint |
49 | 65 | ||
50 | dd '322 ', cmd_322 ; RPL_LIST |
66 | dd '322 ', cmd_322 ; RPL_LIST |
51 | dd '323 ', cmd_323 ; RPL_LISTEND |
67 | dd '323 ', cmd_323 ; RPL_LISTEND |
52 | dd '324 ', cmd_324 ;;;; |
68 | dd '324 ', cmd_justprint |
53 | dd '328 ', cmd_328 ; RPL_CHANNEL_URL |
69 | dd '328 ', cmd_justprint ; RPL_CHANNEL_URL |
54 | dd '329 ', cmd_329 |
70 | dd '329 ', cmd_justprint |
55 | dd '332 ', cmd_topic |
71 | dd '332 ', cmd_topic |
56 | dd '333 ', cmd_333 ; nickname and time of topic |
72 | dd '333 ', cmd_333 ; nickname and time of topic |
57 | dd '353 ', cmd_353 ; name reply |
73 | dd '353 ', cmd_353 ; name reply |
58 | dd '366 ', cmd_366 ; end of names list |
74 | dd '366 ', cmd_366 ; end of names list |
59 | dd '372 ', cmd_372 ; motd |
75 | dd '372 ', cmd_justprint ; motd |
60 | dd '375 ', cmd_375 ; start of motd |
76 | dd '375 ', cmd_justprint ; start of motd |
- | 77 | dd '376 ', cmd_justprint ; end of motd |
|
61 | dd '376 ', cmd_376 ; end of motd |
78 | dd '421 ', cmd_justprint ; unknown command |
62 | dd '421 ', cmd_421 ; unknown command |
79 | dd '433 ', cmd_justprint ; nickname already in use |
63 | dd '433 ', cmd_433 ; nickname already in use |
80 | |
64 | dd 'join', cmd_join |
81 | dd 'join', cmd_join |
65 | dd 'kick', cmd_kick |
82 | dd 'kick', cmd_kick |
Line 149... | Line -... | ||
149 | - | ||
150 | - | ||
151 | 166 | ||
152 | 167 | ||
153 | - | ||
154 | cmd_324: |
- | |
155 | cmd_329: |
- | |
156 | cmd_328: |
- | |
157 | cmd_421: |
168 | |
- | 169 | ||
- | 170 | ||
158 | cmd_372: |
171 | cmd_justprint: |
- | 172 | ||
Line 159... | Line 173... | ||
159 | cmd_375: |
173 | add esi, 4 |
Line 160... | Line -... | ||
160 | cmd_376: |
- | |
161 | cmd_433: |
- | |
Line 162... | Line 174... | ||
162 | add esi, 4 |
174 | call skip_parameter |
- | 175 | call print_text2 |
|
163 | jmp cmd_notice.loop |
176 | mov esi, str_newline |
164 | 177 | call print_text2 |
|
165 | cmd_notice: |
178 | |
Line -... | Line 179... | ||
- | 179 | ret |
|
- | 180 | ||
- | 181 | ||
- | 182 | cmd_notice: |
|
166 | 183 | ||
167 | cmp byte[servercommand], ':' |
184 | if TIMESTAMP |
168 | jne .gogogo |
185 | call print_timestamp |
169 | 186 | end if |
|
170 | mov byte [esi-1], 0 |
187 | |
Line 182... | Line 199... | ||
182 | call print_text2 |
199 | call print_text2 |
183 | pop esi |
200 | pop esi |
Line 184... | Line 201... | ||
184 | 201 | ||
185 | .gogogo: |
202 | .gogogo: |
186 | add esi, 6 |
- | |
187 | - | ||
188 | .loop: |
- | |
189 | inc esi |
203 | add esi, 6 |
190 | cmp byte [esi], 0 |
- | |
191 | je .fail |
- | |
192 | cmp byte [esi], ' ' |
- | |
193 | jne .loop |
- | |
194 | - | ||
195 | .loop2: |
- | |
196 | inc esi |
204 | call skip_parameter |
197 | cmp byte [esi], 0 |
- | |
198 | je .fail |
- | |
199 | cmp byte [esi], ' ' |
- | |
200 | je .loop2 |
- | |
201 | cmp byte [esi], ':' |
- | |
202 | je .loop2 |
- | |
203 | - | ||
204 | .fail: |
205 | call skip_parameter |
- | 206 | call print_text2 |
|
205 | call print_text2 |
207 | |
206 | mov esi, str_newline |
208 | mov esi, str_newline |
Line 207... | Line 209... | ||
207 | call print_text2 |
209 | call print_text2 |
Line 825... | Line 827... | ||
825 | cmd_mode: |
827 | cmd_mode: |
Line 826... | Line 828... | ||
826 | 828 | ||
827 | cmp byte [esi+4], ' ' |
829 | cmp byte [esi+4], ' ' |
828 | jne .fail |
830 | jne .fail |
- | 831 | add esi, 5 ; skip 'MODE ' |
|
829 | add esi, 5 ; skip 'MODE ' |
832 | push esi |
830 | call window_find |
833 | call window_find |
831 | test ebx, ebx |
834 | test ebx, ebx |
- | 835 | jz .user |
|
832 | jz .fail |
836 | mov [esp], esi |
833 | mov [window_print], ebx |
- | |
Line 834... | Line 837... | ||
834 | push esi |
837 | mov [window_print], ebx |
835 | 838 | ||
836 | if TIMESTAMP |
839 | if TIMESTAMP |
Line 851... | Line 854... | ||
851 | call print_text2 |
854 | call print_text2 |
Line 852... | Line 855... | ||
852 | 855 | ||
853 | mov esi, str_newline |
856 | mov esi, str_newline |
Line 854... | Line 857... | ||
854 | call print_text2 |
857 | call print_text2 |
Line 855... | Line 858... | ||
855 | 858 | ||
- | 859 | ; TODO: keep track of user modes in username list |
|
- | 860 | ||
- | 861 | .fail: |
|
- | 862 | ret |
|
- | 863 | ||
- | 864 | ||
- | 865 | .user: |
|
- | 866 | if TIMESTAMP |
|
- | 867 | call print_timestamp |
|
- | 868 | end if |
|
- | 869 | ||
- | 870 | mov esi, mode_header |
|
- | 871 | call print_text2 |
|
- | 872 | ||
- | 873 | mov eax, [esp] |
|
- | 874 | mov dl, ' ' |
|
- | 875 | call print_text |
|
- | 876 | ||
- | 877 | mov esi, sets_mode |
|
- | 878 | call print_text2 |
|
- | 879 | ||
- | 880 | pop esi |
|
- | 881 | call skip_parameter |
|
- | 882 | call print_text2 |
|
Line 856... | Line 883... | ||
856 | ;;; TODO: change username if needed |
883 | |
Line 857... | Line 884... | ||
857 | 884 | mov esi, str_newline |
|
Line 940... | Line 967... | ||
940 | 967 | ||
Line 941... | Line 968... | ||
941 | 968 | ||
942 | cmd_333: |
969 | cmd_333: |
943 | 970 | ||
Line 944... | Line 971... | ||
944 | add esi, 4 ; skip '333 ' |
971 | add esi, 4 ; skip '333 ' |
945 | call skip_parameter ;;;; |
972 | call skip_parameter |
946 | call window_open |
973 | call window_open |
Line 954... | Line 981... | ||
954 | call print_text2 |
981 | call print_text2 |
Line 955... | Line 982... | ||
955 | 982 | ||
956 | mov esi, str_setby |
983 | mov esi, str_setby |
Line 957... | Line -... | ||
957 | call print_text2 |
- | |
958 | - | ||
959 | ; pop esi |
- | |
960 | ; call print_text2 |
984 | call print_text2 |
961 | 985 | ||
962 | pop eax |
986 | pop eax |
Line 963... | Line 987... | ||
963 | mov dl, '!' |
987 | mov dl, '!' |