1 |
|
2 |
IRC_LINE_HEIGHT equ 7 |
3 |
IRC_LINE_COUNT equ 20 |
4 |
IRC_BOTTOM_POS_Y equ 134 |
5 |
IRC_POS_X_TIMESTAMPS equ 16 |
6 |
IRC_POS_X_NICKNAMES equ 34 |
7 |
IRC_POS_X_MESSAGES equ 88 |
8 |
IRC_POS_X_INPUTBOX equ 48 |
9 |
IRC_POS_Y_INPUTBOX equ 146 |
10 |
IRC_POS_X1_INPUTBOX equ 396 |
11 |
IRC_POS_Y1_INPUTBOX equ 153 |
12 |
|
13 |
IRC_MASK_RANDOM_INPUT equ 3 ; Power of two-1 |
14 |
IRC_MIN_DELAY_INPUT equ 2 |
15 |
|
16 |
|
17 |
IRCNICK_SYSTEM equ 0 |
18 |
IRCNICK_BEETLEF060 equ 1 |
19 |
IRCNICK_DBUG equ 2 |
20 |
IRCNICK_DEFJAM equ 3 |
21 |
IRCNICK_EVL equ 4 |
22 |
IRCNICK_GGN equ 5 |
23 |
IRCNICK_GRAZEY equ 6 |
24 |
IRCNICK_KEOPS equ 7 |
25 |
IRCNICK_MTFELICE equ 8 |
26 |
IRCNICK_PARANOID equ 9 |
27 |
IRCNICK_PMDATA equ 10 |
28 |
IRCNICK_RA equ 11 |
29 |
IRCNICK_RAYTSCC equ 12 |
30 |
IRCNICK_SSB equ 13 |
31 |
IRCNICK_STINGRAY equ 14 |
32 |
IRCNICK_XIA equ 15 |
33 |
|
34 |
|
35 |
SECTION TEXT |
36 |
|
37 |
even |
38 |
|
39 |
ChatRoomInit |
40 |
; Depack the chatroom picture |
41 |
lea PackInfoChatRoom,a0 |
42 |
bsr DepackBlock |
43 |
|
44 |
; Depack audio |
45 |
lea packed_chatroom_sample_start,a0 |
46 |
lea big_buffer_start+chatroom_sample_start,a1 |
47 |
move.l #chatroom_sample_end-chatroom_sample_start,d0 |
48 |
bsr DepackDelta |
49 |
|
50 |
bsr ChatRoomInitPalettes |
51 |
|
52 |
; Using the template data, we generate the fullscreen |
53 |
lea PanoramicTemplate_DisplayList,a0 |
54 |
lea big_buffer_start+chatroom_fullscreen,a1 |
55 |
bsr GenerateOverscan |
56 |
rts |
57 |
|
58 |
ChatRoomPlay |
59 |
bsr SequencerPlay |
60 |
bsr ChatRoomUpdateTyping |
61 |
bsr ChatRoomSetScreen |
62 |
rts |
63 |
|
64 |
ChatRoomTerminate |
65 |
bsr TerminateFullscreenTimer |
66 |
rts |
67 |
|
68 |
|
69 |
ChatRoomSetScreen |
70 |
; Update the display list to point on the correct screen adress |
71 |
move.l #big_buffer_start+chatroom_depacked_picture+32*200,d1 |
72 |
lsl.l #8,d1 |
73 |
move.l d1,a0 |
74 |
|
75 |
lea big_buffer_start+chatroom_depacked_picture,a1 |
76 |
lea DisplayList,a2 |
77 |
move.l #208*256,d0 |
78 |
moveq #32,d1 |
79 |
bsr DisplayListInit200 |
80 |
rts |
81 |
|
82 |
|
83 |
; (372,173)-(398,183) |
84 |
; 2 blocs wide |
85 |
; 11 lines high |
86 |
; |
87 |
; Seconds: colonne 385 (offset 192); pixels 176,177,179,180 |
88 |
; Color Index 4 |
89 |
ChatRoomUpdateClock |
90 |
; Blinking pixel dots |
91 |
lea big_buffer_start+chatroom_depacked_picture+(32*200)+176*208+192,a0 |
92 |
move.b time_seconds,d0 |
93 |
and.b #1,d0 |
94 |
beq.s .seconde_off |
95 |
.seconde_on |
96 |
; 176 |
97 |
or.w #%0100000000000000,(a0) |
98 |
and.w #%1011111111111111,2(a0) |
99 |
and.w #%1011111111111111,4(a0) |
100 |
and.w #%1011111111111111,6(a0) |
101 |
; 177 |
102 |
lea 208(a0),a0 |
103 |
or.w #%0100000000000000,(a0) |
104 |
and.w #%1011111111111111,2(a0) |
105 |
and.w #%1011111111111111,4(a0) |
106 |
and.w #%1011111111111111,6(a0) |
107 |
; 179 |
108 |
lea 208*2(a0),a0 |
109 |
or.w #%0100000000000000,(a0) |
110 |
and.w #%1011111111111111,2(a0) |
111 |
and.w #%1011111111111111,4(a0) |
112 |
and.w #%1011111111111111,6(a0) |
113 |
; 180 |
114 |
lea 208(a0),a0 |
115 |
or.w #%0100000000000000,(a0) |
116 |
and.w #%1011111111111111,2(a0) |
117 |
and.w #%1011111111111111,4(a0) |
118 |
and.w #%1011111111111111,6(a0) |
119 |
bra.s .seconde_done |
120 |
|
121 |
.seconde_off |
122 |
; 176 |
123 |
and.w #%1011111111111111,(a0) |
124 |
and.w #%1011111111111111,2(a0) |
125 |
and.w #%1011111111111111,4(a0) |
126 |
and.w #%1011111111111111,6(a0) |
127 |
; 177 |
128 |
lea 208(a0),a0 |
129 |
and.w #%1011111111111111,(a0) |
130 |
and.w #%1011111111111111,2(a0) |
131 |
and.w #%1011111111111111,4(a0) |
132 |
and.w #%1011111111111111,6(a0) |
133 |
; 179 |
134 |
lea 208*2(a0),a0 |
135 |
and.w #%1011111111111111,(a0) |
136 |
and.w #%1011111111111111,2(a0) |
137 |
and.w #%1011111111111111,4(a0) |
138 |
and.w #%1011111111111111,6(a0) |
139 |
; 180 |
140 |
lea 208(a0),a0 |
141 |
and.w #%1011111111111111,(a0) |
142 |
and.w #%1011111111111111,2(a0) |
143 |
and.w #%1011111111111111,4(a0) |
144 |
and.w #%1011111111111111,6(a0) |
145 |
.seconde_done |
146 |
|
147 |
; |
148 |
; Erase the old segments |
149 |
; |
150 |
lea big_buffer_start+chatroom_depacked_picture+(32*200)+173*208+184,a2 |
151 |
move.l #%11111100011100011111110001110001,d7 ; Horizontal segments for hours - black |
152 |
move.l #%11111011101011101111101110101110,d6 ; Vertical segments for hours- black |
153 |
|
154 |
move.l #%11110001110001111111000111000111,d5 ; Horizontal segments for minutes - black |
155 |
move.l #%11101110101110111110111010111011,d4 ; Vertical segments for minutes- black |
156 |
|
157 |
; Top line |
158 |
and.l d7,(a2) |
159 |
and.l d7,4(a2) |
160 |
and.l d5,8+0(a2) |
161 |
and.l d5,8+4(a2) |
162 |
lea 208(a2),a2 |
163 |
|
164 |
; Top/bottom section |
165 |
moveq #4-1,d0 |
166 |
.loop |
167 |
and.l d6,(a2) |
168 |
and.l d6,4(a2) |
169 |
and.l d6,208*5+0(a2) |
170 |
and.l d6,208*5+4(a2) |
171 |
and.l d4,8+0(a2) |
172 |
and.l d4,8+4(a2) |
173 |
and.l d4,208*5+8+0(a2) |
174 |
and.l d4,208*5+8+4(a2) |
175 |
lea 208(a2),a2 |
176 |
dbra d0,.loop |
177 |
|
178 |
; Mid line |
179 |
and.l d7,(a2) |
180 |
and.l d7,4(a2) |
181 |
and.l d5,8+0(a2) |
182 |
and.l d5,8+4(a2) |
183 |
lea 208*5(a2),a2 |
184 |
|
185 |
; End line |
186 |
and.l d7,(a2) |
187 |
and.l d7,4(a2) |
188 |
and.l d5,8+0(a2) |
189 |
and.l d5,8+4(a2) |
190 |
|
191 |
; |
192 |
; Draw the activated segments depending of time |
193 |
; |
194 |
|
195 |
; First digit of the minutes |
196 |
; Colomn 384 (offset 192), line 173 |
197 |
move.b time_hours,d0 |
198 |
lsl.w #8,d0 |
199 |
move.b time_minutes,d0 ; HHMM (16 bits) |
200 |
|
201 |
lea TableDigitShiftBit,a3 |
202 |
lea TableDigitOffset,a4 |
203 |
|
204 |
moveq #4-1,d7 |
205 |
.loop_digit |
206 |
move d0,d1 |
207 |
lsr #4,d0 |
208 |
|
209 |
and #$0f,d1 ; Get nibble for current digit |
210 |
|
211 |
moveq #0,d2 |
212 |
move.b (a4,d7),d2 ; Get screen offset |
213 |
lea big_buffer_start+chatroom_depacked_picture+(32*200)+173*208+184,a2 |
214 |
add.w d2,a2 ; Final screen adress |
215 |
|
216 |
moveq #0,d2 |
217 |
move.b (a3,d7),d2 ; Shift value |
218 |
|
219 |
|
220 |
lea TaskBarClockDigits,a0 ; Real number for drawing, 5 entries |
221 |
lsl #3,d1 |
222 |
add d1,a0 ; Segment description for this number |
223 |
|
224 |
; Top segment |
225 |
moveq #0,d3 |
226 |
move.b (a0)+,d3 |
227 |
lsl d2,d3 ; Shift the segment value for the screen |
228 |
or.w d3,208*0(a2) ; Write the top segment value |
229 |
|
230 |
; Top vertical segments |
231 |
moveq #0,d3 |
232 |
move.b (a0)+,d3 |
233 |
lsl d2,d3 ; Shift the segment value for the screen |
234 |
or.w d3,208*1(a2) ; Write the top segment value |
235 |
or.w d3,208*2(a2) ; Write the top segment value |
236 |
or.w d3,208*3(a2) ; Write the top segment value |
237 |
or.w d3,208*4(a2) ; Write the top segment value |
238 |
|
239 |
; Mid segment |
240 |
moveq #0,d3 |
241 |
move.b (a0)+,d3 |
242 |
lsl d2,d3 ; Shift the segment value for the screen |
243 |
or.w d3,208*5(a2) ; Write the middle segment value |
244 |
|
245 |
; Bottom vertical segments |
246 |
moveq #0,d3 |
247 |
move.b (a0)+,d3 |
248 |
lsl d2,d3 ; Shift the segment value for the screen |
249 |
or.w d3,208*6(a2) ; Write the top segment value |
250 |
or.w d3,208*7(a2) ; Write the top segment value |
251 |
or.w d3,208*8(a2) ; Write the top segment value |
252 |
or.w d3,208*9(a2) ; Write the top segment value |
253 |
|
254 |
; Bottom segment |
255 |
moveq #0,d3 |
256 |
move.b (a0)+,d3 |
257 |
lsl d2,d3 ; Shift the segment value for the screen |
258 |
or.w d3,208*10(a2) ; Write the bottom segment value |
259 |
|
260 |
dbra d7,.loop_digit |
261 |
|
262 |
rts |
263 |
|
264 |
|
265 |
; 7*20=140 |
266 |
ChatRoomInitPalettes |
267 |
lea ChatColors+IRCNICK_DBUG*8,a0 |
268 |
lea big_buffer_start+chatroom_depacked_picture+IRC_POS_Y_INPUTBOX*32,a1 |
269 |
move #7-1,d6 |
270 |
.loop_scanline |
271 |
move.l (a0),(a1) |
272 |
move.l 4(a0),4(a1) |
273 |
lea 32(a1),a1 |
274 |
dbra d6,.loop_scanline |
275 |
rts |
276 |
|
277 |
EraseTopOfTheChat |
278 |
lea big_buffer_start+chatroom_depacked_picture+32*200,a0 |
279 |
move.l a0,a1 |
280 |
add.l #208*142,a1 |
281 |
bsr MemoryClear |
282 |
rts |
283 |
|
284 |
|
285 |
ChatRoomEraseTypeBox |
286 |
lea big_buffer_start+chatroom_depacked_picture+(32*200)+24+IRC_POS_Y_INPUTBOX*208,a0 |
287 |
move #7-1,d0 |
288 |
.loop_erase |
289 |
lea 168(a0),a1 |
290 |
bsr MemoryClear |
291 |
lea 208(a0),a0 |
292 |
dbra d0,.loop_erase |
293 |
rts |
294 |
|
295 |
; a0=message adress |
296 |
; a1=buffer |
297 |
ChatRoomPrintMessage |
298 |
move #8,character_xpos |
299 |
move #1,character_ypos |
300 |
move.l #big_buffer_start+chatroom_depacked_picture+32*200+8,character_buffer_base |
301 |
|
302 |
.loop |
303 |
moveq #0,d0 |
304 |
move.b (a0)+,d0 ; Get the current character |
305 |
beq.s .done |
306 |
cmp.b #13,d0 |
307 |
beq.s .next_line |
308 |
|
309 |
; d0=character index |
310 |
; a6=pointer on the font description bloc |
311 |
lea FontSmall,a6 |
312 |
bsr CharacterDraw |
313 |
bra.s .loop |
314 |
.done |
315 |
rts |
316 |
.next_line |
317 |
move #8,character_xpos |
318 |
add #7,character_ypos |
319 |
bra.s .loop |
320 |
|
321 |
|
322 |
|
323 |
ChatRoomScrollUp |
324 |
; Scrollup text |
325 |
lea big_buffer_start+chatroom_depacked_picture+32*200+8,a0 |
326 |
lea 208*7(a0),a1 |
327 |
move.w #135-1,d0 |
328 |
.loop_scroll_lines |
329 |
move.w #200/4-1,d1 |
330 |
move.l a0,a2 |
331 |
move.l a1,a3 |
332 |
.loop_scroll |
333 |
move.l (a3)+,(a2)+ |
334 |
dbra d1,.loop_scroll |
335 |
lea 208(a0),a0 |
336 |
lea 208(a1),a1 |
337 |
dbra d0,.loop_scroll_lines |
338 |
|
339 |
; Erase the old line |
340 |
lea big_buffer_start+chatroom_depacked_picture+32*200+8+IRC_BOTTOM_POS_Y*208,a0 |
341 |
move #7-1,d0 |
342 |
.loop_erase |
343 |
lea 184(a0),a1 |
344 |
bsr MemoryClear |
345 |
lea 208(a0),a0 |
346 |
dbra d0,.loop_erase |
347 |
|
348 |
; Scrollup colors |
349 |
lea big_buffer_start+chatroom_depacked_picture,a0 |
350 |
move #135-1,d7 |
351 |
.loop_scroll_palettes |
352 |
move.l 32*7(a0),(a0) |
353 |
move.l 32*7+4(a0),4(a0) |
354 |
lea 32(a0),a0 |
355 |
dbra d7,.loop_scroll_palettes |
356 |
rts |
357 |
|
358 |
|
359 |
; Type one character at a type |
360 |
ChatRoomUpdateTyping |
361 |
lea big_buffer_start,a6 |
362 |
move.l chatroom_type_start_ptr(a6),a0 |
363 |
cmp.l #0,a0 |
364 |
beq.s .done ; No current message |
365 |
tst.b chatroom_type_delay(a6) |
366 |
beq.s .new_character |
367 |
subq.b #1,chatroom_type_delay(a6) |
368 |
.done |
369 |
rts |
370 |
|
371 |
.new_character |
372 |
bsr NextPRN |
373 |
and #IRC_MASK_RANDOM_INPUT,d0 |
374 |
add #IRC_MIN_DELAY_INPUT,d0 |
375 |
;moveq #0,d0 |
376 |
move.b d0,chatroom_type_delay(a6) ; Save the delay before the next character |
377 |
|
378 |
moveq #0,d0 |
379 |
move.b chatroom_type_offset(a6),d0 ; Character offset |
380 |
move.b (a0,d0),d0 ; Next character to display |
381 |
beq.s .typing_done |
382 |
|
383 |
addq.b #1,chatroom_type_offset(a6) |
384 |
|
385 |
; Display the new character |
386 |
move.l #big_buffer_start+chatroom_depacked_picture+32*200,character_buffer_base |
387 |
move.w chatroom_type_pos_x(a6),character_xpos |
388 |
move.w #IRC_POS_Y_INPUTBOX,character_ypos |
389 |
|
390 |
bsr PlayRandomClickSound |
391 |
|
392 |
; d0=character index |
393 |
; a6=pointer on the font description bloc |
394 |
lea FontSmall,a6 |
395 |
bsr CharacterDraw |
396 |
move.w character_xpos,big_buffer_start+chatroom_type_pos_x |
397 |
;bra ChatRoomUpdateTyping |
398 |
rts |
399 |
|
400 |
; Reached the zero, need to display the text |
401 |
.typing_done |
402 |
clr.l chatroom_type_start_ptr(a6) ; Clear the type pointer |
403 |
move.w #IRCNICK_DBUG,d0 |
404 |
bsr ChatRoomIrcPrintMessageReal ; Display the message in the chat room |
405 |
|
406 |
bsr ChatRoomEraseTypeBox ; Erase the message in the box |
407 |
rts |
408 |
|
409 |
|
410 |
PlayRandomClickSound |
411 |
movem.l d0-a6,-(sp) |
412 |
|
413 |
bsr NextPRN |
414 |
and #3,d0 |
415 |
add d0,d0 |
416 |
add d0,d0 |
417 |
lea TableKeyboardSounds,a2 |
418 |
add d0,a2 |
419 |
|
420 |
lea big_buffer_start+chatroom_sample_start,a0 |
421 |
move.l a0,a1 |
422 |
add (a2)+,a0 |
423 |
add (a2)+,a1 |
424 |
|
425 |
bsr StartReplay |
426 |
|
427 |
movem.l (sp)+,d0-a6 |
428 |
rts |
429 |
|
430 |
|
431 |
; d0=nickname index |
432 |
; a0=message string |
433 |
; |
434 |
; returns a0 pointing on the byte after the 0 |
435 |
ChatRoomIrcPrintMessage |
436 |
cmp.w #IRCNICK_DBUG,d0 |
437 |
bne.s ChatRoomIrcPrintMessageReal |
438 |
|
439 |
; This is Dbug typing |
440 |
; Set this as the real message to print |
441 |
lea big_buffer_start,a1 |
442 |
move.l a0,chatroom_type_start_ptr(a1) |
443 |
move.w #IRC_POS_X_INPUTBOX,chatroom_type_pos_x(a1) |
444 |
sf.b chatroom_type_offset(a1) |
445 |
sf.b chatroom_type_delay(a1) |
446 |
bsr GetAlignedEndOfString |
447 |
;.loop_find_end |
448 |
; tst.b (a0)+ |
449 |
; bne.s .loop_find_end |
450 |
; return a0 pointing on the last character |
451 |
rts |
452 |
|
453 |
ChatRoomIrcPrintMessageReal |
454 |
movem.l d0/a0,-(sp) |
455 |
bsr ChatRoomScrollUp |
456 |
movem.l (sp)+,d0/a0 |
457 |
|
458 |
; Positions: |
459 |
; - 24 -> time stamp |
460 |
; - xx -> Nicknames |
461 |
; - yy -> Messages |
462 |
; Need a vertical separator line between the nick names and the messages |
463 |
move.l #big_buffer_start+chatroom_depacked_picture+32*200,character_buffer_base |
464 |
move #IRC_BOTTOM_POS_Y,character_ypos |
465 |
|
466 |
|
467 |
; Set the colors depending of the NickName |
468 |
lea big_buffer_start+chatroom_depacked_picture+(IRC_BOTTOM_POS_Y*32),a1 |
469 |
lea ChatColors,a2 |
470 |
move d0,d1 |
471 |
and #7,d1 |
472 |
lsl #3,d1 |
473 |
add d1,a2 |
474 |
move #7-1,d6 |
475 |
.loop_scanline |
476 |
move.l (a2),(a1) |
477 |
move.l 4(a2),4(a1) |
478 |
lea 32(a1),a1 |
479 |
dbra d6,.loop_scanline |
480 |
|
481 |
move.l a0,-(sp) |
482 |
; Display the nickname |
483 |
lea ListNickNames,a0 |
484 |
add d0,d0 |
485 |
add d0,d0 |
486 |
move.l (a0,d0),a0 |
487 |
move #IRC_POS_X_NICKNAMES,d0 |
488 |
add.b (a0)+,d0 |
489 |
move d0,character_xpos |
490 |
bsr ChatRoomIrcOutputLine |
491 |
move.l (sp)+,a0 |
492 |
|
493 |
; Display the message |
494 |
move #IRC_POS_X_MESSAGES,character_xpos |
495 |
; ! a0 comes from the caller, don't get it erased |
496 |
bsr ChatRoomIrcOutputLine |
497 |
move.l a0,-(sp) |
498 |
|
499 |
; Display the time stamp |
500 |
moveq #0,d0 |
501 |
lea IrcTimeStamp,a0 |
502 |
lea HexDigits,a1 |
503 |
|
504 |
move.b time_minutes,d0 |
505 |
move.b d0,d1 |
506 |
and #7,d0 |
507 |
move.b (a1,d0),4(a0) |
508 |
move.b d1,d0 |
509 |
lsr.b #4,d0 |
510 |
move.b (a1,d0),3(a0) |
511 |
|
512 |
move.b time_hours,d0 |
513 |
move.b d0,d1 |
514 |
and #7,d0 |
515 |
move.b (a1,d0),1(a0) |
516 |
move.b d1,d0 |
517 |
lsr.b #4,d0 |
518 |
move.b (a1,d0),0(a0) |
519 |
|
520 |
move #IRC_POS_X_TIMESTAMPS,character_xpos |
521 |
bsr ChatRoomIrcOutputLine |
522 |
|
523 |
; Restore the chat position |
524 |
move.l (sp)+,a0 |
525 |
rts |
526 |
|
527 |
|
528 |
ChatRoomIrcOutputLine |
529 |
.loop |
530 |
moveq #0,d0 |
531 |
move.b (a0)+,d0 ; Get the current character |
532 |
beq.s .done |
533 |
cmp.b #13,d0 |
534 |
beq.s .done |
535 |
|
536 |
; d0=character index |
537 |
; a6=pointer on the font description bloc |
538 |
lea FontSmall,a6 |
539 |
bsr CharacterDraw |
540 |
bra.s .loop |
541 |
.done |
542 |
rts |
543 |
.next_line |
544 |
move #8,character_xpos |
545 |
add #7,character_ypos |
546 |
bra.s .loop |
547 |
|
548 |
|
549 |
SECTION DATA |
550 |
|
551 |
IrcTimeStamp |
552 |
; 01234 |
553 |
dc.b "00:00",0 |
554 |
|
555 |
even |
556 |
|
557 |
|
558 |
ChatRoomSequencer |
559 |
SEQUENCE_SETPTR _AdrPartVblRoutine,ChatRoomUpdateClock |
560 |
|
561 |
SEQUENCE_TEMPORIZE 5 |
562 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"Topic for #atariscne is: Outline results: http://www.dhs.nu"> |
563 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"Topic for #atariscne set by evl~an@yada.se"> |
564 |
SEQUENCE_SUBTITLE <"Welcome to the modern demoscene!"> |
565 |
SEQUENCE_TEMPORIZE 50 |
566 |
SEQUENCE_IRC_MESSAGE IRCNICK_EVL,<"Hi _Dbug_ :) How's the demo going?"> |
567 |
SEQUENCE_TEMPORIZE 90 |
568 |
SEQUENCE_TEMPORIZE 50 |
569 |
SEQUENCE_IRC_MESSAGE IRCNICK_DBUG,<"Not that well I fear..."> |
570 |
SEQUENCE_TEMPORIZE 70 |
571 |
SEQUENCE_IRC_MESSAGE IRCNICK_BEETLEF060,<"Hi Dbg"> |
572 |
SEQUENCE_TEMPORIZE 80 |
573 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"CyranoJ has joined #atariscne"> |
574 |
SEQUENCE_TEMPORIZE 50 |
575 |
SEQUENCE_IRC_MESSAGE IRCNICK_EVL,<"Oh?"> |
576 |
SEQUENCE_TEMPORIZE 60 |
577 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"Malodix has quit (EOF From client)"> |
578 |
SEQUENCE_TEMPORIZE 40 |
579 |
SEQUENCE_IRC_MESSAGE IRCNICK_PMDATA,<"Dbug can't debug ?"> |
580 |
SEQUENCE_TEMPORIZE 40 |
581 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"MT-Felice has joined #atariscne"> |
582 |
SEQUENCE_TEMPORIZE 40 |
583 |
SEQUENCE_IRC_MESSAGE IRCNICK_DBUG,<"Trying to find ideas by watching old demos :-/"> |
584 |
SEQUENCE_TEMPORIZE 60 |
585 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"full pixel? full screen I meant ;D"> |
586 |
SEQUENCE_TEMPORIZE 80 |
587 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"_Paranoid can do a full single pixel plarma, too! :-D"> |
588 |
SEQUENCE_TEMPORIZE 40 |
589 |
SEQUENCE_IRC_MESSAGE IRCNICK_PARANOID,<"plasma"> |
590 |
SEQUENCE_TEMPORIZE 50 |
591 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"haha"> |
592 |
SEQUENCE_TEMPORIZE 80 |
593 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"StingRay deserves that"> |
594 |
SEQUENCE_TEMPORIZE 50 |
595 |
SEQUENCE_IRC_MESSAGE IRCNICK_KEOPS,<"No too old I hope, one BITS is enough!"> |
596 |
SEQUENCE_TEMPORIZE 60 |
597 |
SEQUENCE_IRC_MESSAGE IRCNICK_GGN,<"lol"> |
598 |
SEQUENCE_TEMPORIZE 30 |
599 |
SEQUENCE_IRC_MESSAGE IRCNICK_XIA,<"You know, possibly Bits are just misunderstood Genius :)"> |
600 |
SEQUENCE_TEMPORIZE 50 |
601 |
SEQUENCE_IRC_MESSAGE IRCNICK_DBUG,<"Had some ideas, but would be either too boring or too complicated"> |
602 |
SEQUENCE_TEMPORIZE 60 |
603 |
SEQUENCE_IRC_MESSAGE IRCNICK_EVL,<"I see. Well, good luck!"> |
604 |
SEQUENCE_TEMPORIZE 50 |
605 |
SEQUENCE_IRC_MESSAGE IRCNICK_KEOPS,<142> |
606 |
SEQUENCE_TEMPORIZE 20 |
607 |
SEQUENCE_IRC_MESSAGE IRCNICK_KEOPS,<143> |
608 |
SEQUENCE_TEMPORIZE 50 |
609 |
SEQUENCE_IRC_MESSAGE IRCNICK_XIA,<"ASCII Art !"> |
610 |
SEQUENCE_TEMPORIZE 50 |
611 |
SEQUENCE_TEMPORIZE 40 |
612 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"indeed ;D"> |
613 |
|
614 |
SEQUENCE_TEMPORIZE 20 |
615 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"rather lame demo tho"> |
616 |
SEQUENCE_TEMPORIZE 50 |
617 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"except for that part"> |
618 |
|
619 |
SEQUENCE_IRC_MESSAGE IRCNICK_MTFELICE,<"Hi everybody."> |
620 |
SEQUENCE_IRC_MESSAGE IRCNICK_DBUG,<":)"> |
621 |
|
622 |
SEQUENCE_TEMPORIZE 20 |
623 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<":D"> |
624 |
SEQUENCE_TEMPORIZE 50 |
625 |
SEQUENCE_IRC_MESSAGE IRCNICK_SSB,<"StingRay, you shouldnt slag off your old work like that!"> |
626 |
SEQUENCE_TEMPORIZE 10 |
627 |
SEQUENCE_IRC_MESSAGE IRCNICK_SSB,<":)"> |
628 |
SEQUENCE_TEMPORIZE 50 |
629 |
SEQUENCE_IRC_MESSAGE IRCNICK_SYSTEM,<"Paranoid has quit ('Plantsch!')"> |
630 |
SEQUENCE_TEMPORIZE 30 |
631 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"haha"> |
632 |
SEQUENCE_SUBTITLE <"IRC, forums, videos, internet, trolls &",13,"glops, but not much demomaking :("> |
633 |
SEQUENCE_IRC_MESSAGE IRCNICK_DBUG,<"Anyway, sleep time for me. Good night everybody."> |
634 |
|
635 |
SEQUENCE_TEMPORIZE 50*6 |
636 |
|
637 |
SEQUENCE_IRC_MESSAGE IRCNICK_STINGRAY,<"Night bug"> |
638 |
SEQUENCE_TEMPORIZE 30 |
639 |
SEQUENCE_IRC_MESSAGE IRCNICK_XIA,<"Good night as well."> |
640 |
SEQUENCE_IRC_MESSAGE IRCNICK_GGN,<"cu"> |
641 |
|
642 |
; Wait a bit |
643 |
SEQUENCE_TEMPORIZE 50*1 |
644 |
|
645 |
; And leave |
646 |
SEQUENCE_GO_NEXT_PART |
647 |
|
648 |
SEQUENCE_END |
649 |
|
650 |
|
651 |
PackInfoChatRoom |
652 |
dc.l packed_picture_chatroom |
653 |
dc.l big_buffer_start+chatroom_depacked_picture |
654 |
dc.l 48000 |
655 |
|
656 |
|
657 |
; Unpacked: 48000 |
658 |
; Packed: 13032 |
659 |
FILE "chatroom.pik",packed_picture_chatroom |
660 |
|
661 |
; Unpacked: 9536 |
662 |
; Packed: 4769 |
663 |
FILE "keyboard.dlt",packed_chatroom_sample_start,packed_chatroom_sample_end |
664 |
|
665 |
even |
666 |
|
667 |
|
668 |
; 2*4=8 bytes per entry |
669 |
ChatColors |
670 |
dc.w $777,$666,$555,$333 ; Grey |
671 |
dc.w $777,$766,$655,$533 ; Red |
672 |
dc.w $777,$676,$565,$353 ; Green |
673 |
dc.w $777,$667,$556,$335 ; Blue |
674 |
|
675 |
dc.w $777,$776,$665,$553 ; Yellow |
676 |
dc.w $777,$677,$566,$355 ; Cyan |
677 |
dc.w $777,$767,$656,$535 ; Magenta |
678 |
dc.w $777,$666,$555,$333 ; |
679 |
|
680 |
|
681 |
TaskBarClockDigits |
682 |
; 0 |
683 |
dc.b %01110 |
684 |
dc.b %10001 |
685 |
dc.b %00000 |
686 |
dc.b %10001 |
687 |
dc.b %01110 |
688 |
dc.b 0,0,0 |
689 |
|
690 |
; 1 |
691 |
dc.b %00000 |
692 |
dc.b %00001 |
693 |
dc.b %00000 |
694 |
dc.b %00001 |
695 |
dc.b %00000 |
696 |
dc.b 0,0,0 |
697 |
|
698 |
; 2 |
699 |
dc.b %01110 |
700 |
dc.b %00001 |
701 |
dc.b %01110 |
702 |
dc.b %10000 |
703 |
dc.b %01110 |
704 |
dc.b 0,0,0 |
705 |
|
706 |
; 3 |
707 |
dc.b %01110 |
708 |
dc.b %00001 |
709 |
dc.b %01110 |
710 |
dc.b %00001 |
711 |
dc.b %01110 |
712 |
dc.b 0,0,0 |
713 |
|
714 |
; 4 |
715 |
dc.b %00000 |
716 |
dc.b %10001 |
717 |
dc.b %01110 |
718 |
dc.b %00001 |
719 |
dc.b %00000 |
720 |
dc.b 0,0,0 |
721 |
|
722 |
; 5 |
723 |
dc.b %01110 |
724 |
dc.b %10000 |
725 |
dc.b %01110 |
726 |
dc.b %00001 |
727 |
dc.b %01110 |
728 |
dc.b 0,0,0 |
729 |
|
730 |
; 6 |
731 |
dc.b %01110 |
732 |
dc.b %10000 |
733 |
dc.b %01110 |
734 |
dc.b %10001 |
735 |
dc.b %01110 |
736 |
dc.b 0,0,0 |
737 |
|
738 |
; 7 |
739 |
dc.b %01110 |
740 |
dc.b %00001 |
741 |
dc.b %00000 |
742 |
dc.b %00001 |
743 |
dc.b %00000 |
744 |
dc.b 0,0,0 |
745 |
|
746 |
; 8 |
747 |
dc.b %01110 |
748 |
dc.b %10001 |
749 |
dc.b %01110 |
750 |
dc.b %10001 |
751 |
dc.b %01110 |
752 |
dc.b 0,0,0 |
753 |
|
754 |
; 9 |
755 |
dc.b %01110 |
756 |
dc.b %10001 |
757 |
dc.b %01110 |
758 |
dc.b %00001 |
759 |
dc.b %01110 |
760 |
dc.b 0,0,0 |
761 |
|
762 |
TableDigitShiftBit |
763 |
dc.b 6,0,8,2 |
764 |
|
765 |
TableDigitOffset |
766 |
dc.b 0,0,8,8 |
767 |
|
768 |
|
769 |
TableKeyboardSounds |
770 |
dc.w 0,1598 |
771 |
dc.w 1598,2696 |
772 |
dc.w 2696,3922 |
773 |
dc.w 3922,5221 |
774 |
dc.w 5001,5889 |
775 |
dc.w 5861,7041 |
776 |
dc.w 6989,8293 |
777 |
dc.w 8281,9533 |
778 |
|
779 |
|
780 |
ListNickNames |
781 |
dc.l NickName_system |
782 |
dc.l NickName_beetlef060 |
783 |
dc.l NickName_dbug |
784 |
dc.l NickName_defjam |
785 |
dc.l NickName_evl |
786 |
dc.l NickName_ggn |
787 |
dc.l NickName_grazey |
788 |
dc.l NickName_keops |
789 |
dc.l NickName_mtfelice |
790 |
dc.l NickName_paranoid |
791 |
dc.l NickName_pmdata |
792 |
dc.l NickName_ra |
793 |
dc.l NickName_raytscc |
794 |
dc.l NickName_ssb |
795 |
dc.l NickName_stingray |
796 |
dc.l NickName_xia |
797 |
|
798 |
NickName_system dc.b 43,"*",0 |
799 |
NickName_beetlef060 dc.b 22,"Beetle",0 |
800 |
NickName_dbug dc.b 15,"_Dbug_",0 |
801 |
NickName_defjam dc.b 10,"defjam",0 |
802 |
NickName_evl dc.b 35,"evl",0 |
803 |
NickName_ggn dc.b 33,"ggn",0 |
804 |
NickName_grazey dc.b 10,"Grazey",0 |
805 |
NickName_keops dc.b 22,"Keops",0 |
806 |
NickName_mtfelice dc.b 12,"MTFelice",0 |
807 |
NickName_paranoid dc.b 12,"Paranoid",0 |
808 |
NickName_pmdata dc.b 18,"pmdata",0 |
809 |
NickName_ra dc.b 30,"RQ",0 |
810 |
NickName_raytscc dc.b 10,"raytscc",0 |
811 |
NickName_ssb dc.b 33,"ssb",0 |
812 |
NickName_stingray dc.b 12,"StingRay",0 |
813 |
NickName_xia dc.b 34,"XiA",0 |
814 |
|
815 |
|
816 |
SECTION BSS |
817 |
|
818 |
even |
819 |
|
820 |
|
821 |
|
822 |
; |
823 |
; The content of this buffer is going to be stored in |
824 |
; the big common table. |
825 |
; |
826 |
rsreset |
827 |
chatroom_type_start_ptr rs.l 1 ; Pointer on the message to type |
828 |
chatroom_type_pos_x rs.w 1 ; Pïxel position of the next character |
829 |
chatroom_type_offset rs.b 1 ; Offset in the message |
830 |
chatroom_type_delay rs.b 1 ; Random delay to wait betwen characters |
831 |
chatroom_fullscreen rs.b Size_PanoramicRoutine_DisplayList |
832 |
chatroom_depacked_picture rs.b 48000 |
833 |
|
834 |
chatroom_sample_start rs.b 9536 |
835 |
chatroom_sample_end rs.b 16 ; Some padding to handle the alignment issues |
836 |
|
837 |
update_buffer_size |
838 |
|
839 |
|
840 |
|