Modified the speech bubble display code to compute the width and left offset by itself.
In practice that means that instead of this :
we can just enter that:
this reduces each of these entry by three bytes, but also groups together the position and the string, making it easier to localize later.
@@ -219,6 +219,7 @@ | ||
219 | 219 | |
220 | 220 | case COMMAND_BUBBLE: |
221 | 221 | { |
222 | + unsigned char car; | |
222 | 223 | unsigned char index; |
223 | 224 | unsigned char count = *gCurrentStream++; |
224 | 225 | unsigned char color = *gCurrentStream++; |
@@ -227,8 +228,16 @@ | ||
227 | 228 | { |
228 | 229 | unsigned char x = *coordinates++; |
229 | 230 | unsigned char y = *coordinates++; |
230 | - unsigned char w = *coordinates++; | |
231 | - unsigned char h = *coordinates++; | |
231 | + unsigned char w = 2; | |
232 | + unsigned char h = 15; | |
233 | + coordinates++; // offset y | |
234 | + while (car=*coordinates++) // Skip string | |
235 | + { | |
236 | + if (car>127) w+=(char)car; | |
237 | + else w+=gFont12x14Width[car-32]+1; | |
238 | + | |
239 | + } | |
240 | + //sprintf((char*)0xbb80+40*(20+index),"%d %d %d %d ",x,y,w,h); | |
232 | 241 | DrawRectangleOutline(x-1,y-1,w+2,h+2,color); |
233 | 242 | } |
234 | 243 |
@@ -238,25 +247,35 @@ | ||
238 | 247 | coordinates = gCurrentStream; |
239 | 248 | for (index=0;index<count;index++) |
240 | 249 | { |
241 | - gDrawPosX = *gCurrentStream++; | |
242 | - gDrawPosY = *gCurrentStream++; | |
243 | - gDrawWidth = *gCurrentStream++; | |
244 | - gDrawHeight = *gCurrentStream++; | |
250 | + gDrawPosX = *coordinates++; | |
251 | + gDrawPosY = *coordinates++; | |
252 | + gDrawHeight = 15; | |
253 | + coordinates++; // offset y | |
254 | + gDrawWidth=2; | |
255 | + while (car=*coordinates++) // Skip string | |
256 | + { | |
257 | + if (car>127) gDrawWidth+=(char)car; | |
258 | + else gDrawWidth+=gFont12x14Width[car-32]+1; | |
259 | + } | |
260 | + | |
245 | 261 | DrawFilledRectangle(); |
246 | 262 | } |
247 | 263 | |
248 | 264 | color ^= 63; |
249 | 265 | gDrawPattern = color; |
266 | + coordinates = gCurrentStream; | |
250 | 267 | for (index=0;index<count;index++) |
251 | 268 | { |
252 | - gDrawPosX = *coordinates++ + *gCurrentStream++; | |
253 | - gDrawPosY = *coordinates++ + *gCurrentStream++; | |
254 | - gDrawWidth = *coordinates++; // Ignored | |
255 | - gDrawHeight = *coordinates++; // Ignored | |
256 | - gDrawExtraData = gCurrentStream; | |
269 | + gDrawPosX = *coordinates++; | |
270 | + gDrawPosY = *coordinates++; | |
271 | + gDrawHeight = 15; | |
272 | + gDrawPosX += 1; // offset x | |
273 | + gDrawPosY += *coordinates++; // offset y | |
274 | + gDrawExtraData = coordinates; | |
257 | 275 | PrintFancyFont(); |
258 | - gCurrentStream = gDrawExtraData; // modified by the PrintFancyFont function | |
276 | + coordinates = gDrawExtraData; // modified by the PrintFancyFont function | |
259 | 277 | } |
278 | + gCurrentStream = coordinates; | |
260 | 279 | } |
261 | 280 | break; |
262 | 281 |
@@ -369,10 +369,8 @@ | ||
369 | 369 | _gDescriptionDarkTunel |
370 | 370 | WAIT(DELAY_FIRST_BUBBLE) |
371 | 371 | .byt COMMAND_BUBBLE,2,64 |
372 | - .byt RECTANGLE(4,4,172,15) | |
373 | - .byt RECTANGLE(4,13,114,16) | |
374 | - .byt OFFSET(1,0),"Like most tunnels: dark, damp,",0 | |
375 | - .byt OFFSET(1,1),"and somewhat scary.",0 | |
372 | + .byt 4,4,0,"Like most tunnels: dark, damp,",0 | |
373 | + .byt 4,13,1,"and somewhat scary.",0 | |
376 | 374 | END |
377 | 375 | |
378 | 376 | _gDescriptionMarketPlace |
@@ -379,52 +377,41 @@ | ||
379 | 377 | WAIT(DELAY_FIRST_BUBBLE) |
380 | 378 | .byt COMMAND_BUBBLE,2,64 |
381 | 379 | #ifdef LANGUAGE_FR |
382 | - .byt RECTANGLE(4,100,108,15) | |
383 | - .byt RECTANGLE(4,106,63,15) | |
384 | - .byt OFFSET(1,0),"La place du marché",0 | |
385 | - .byt OFFSET(1,4),"est désertée",0 | |
380 | + .byt 4,100,0,"La place du marché",0 | |
381 | + .byt 4,106,4,"est désertée",0 | |
386 | 382 | #else |
387 | - .byt RECTANGLE(4,100,95,15) | |
388 | - .byt RECTANGLE(4,106,59,15) | |
389 | - .byt OFFSET(1,0),"The market place",0 | |
390 | - .byt OFFSET(1,4),"is deserted",0 | |
383 | + .byt 4,100,0,"The market place",0 | |
384 | + .byt 4,106,4,"is deserted",0 | |
391 | 385 | #endif |
392 | 386 | END |
393 | 387 | |
388 | + | |
394 | 389 | _gDescriptionDarkAlley |
395 | 390 | WAIT(DELAY_FIRST_BUBBLE) |
396 | 391 | .byt COMMAND_BUBBLE,2,64 |
397 | - .byt RECTANGLE(153,85,83,14) | |
398 | - .byt RECTANGLE(136,98,100,15) | |
399 | - .byt OFFSET(1,0),"Rats, graf",255-1,"f",255-1,"itti,",0 | |
400 | - .byt OFFSET(1,0),"and used syringes.",0 | |
392 | + .byt 153,85,0,"Rats, graf",255-1,"f",255-1,"itti,",0 | |
393 | + .byt 136,98,0,"and used syringes.",0 | |
401 | 394 | END |
402 | 395 | |
403 | 396 | _gDescriptionRoad |
404 | 397 | WAIT(DELAY_FIRST_BUBBLE) |
405 | 398 | .byt COMMAND_BUBBLE,2,64 |
406 | - .byt RECTANGLE(4,100,87,11) | |
407 | - .byt RECTANGLE(4,106,69,15) | |
408 | - .byt OFFSET(1,0),"All roads lead...",0 | |
409 | - .byt OFFSET(1,4),"...somewhere?",0 | |
399 | + .byt 4,100,0,"All roads lead...",0 | |
400 | + .byt 4,106,4,"...somewhere?",0 | |
410 | 401 | END |
411 | 402 | |
412 | 403 | _gDescriptionMainStreet |
413 | 404 | WAIT(DELAY_FIRST_BUBBLE) |
414 | 405 | .byt COMMAND_BUBBLE,2,64 |
415 | - .byt RECTANGLE(4,4,64,12) | |
416 | - .byt RECTANGLE(4,16,93,11) | |
417 | - .byt OFFSET(1,0),"A good old",0 | |
418 | - .byt OFFSET(4,0),"medieval church",0 | |
406 | + .byt 4,4,0,"A good old",0 | |
407 | + .byt 4,16,0,"medieval church",0 | |
419 | 408 | END |
420 | 409 | |
421 | 410 | _gDescriptionNarrowPath |
422 | 411 | WAIT(DELAY_FIRST_BUBBLE) |
423 | 412 | .byt COMMAND_BUBBLE,2,64 |
424 | - .byt RECTANGLE(130,5,105,12) | |
425 | - .byt RECTANGLE(109,17,126,15) | |
426 | - .byt OFFSET(1,0),"Are these the open",0 | |
427 | - .byt OFFSET(1,0),"f",256-1,"lood gates of heaven?",0 | |
413 | + .byt 130,5,0,"Are these the open",0 | |
414 | + .byt 109,17,0,"f",256-1,"lood gates of heaven?",0 | |
428 | 415 | END |
429 | 416 | |
430 | 417 | _gDescriptionInThePit |
@@ -446,16 +433,13 @@ | ||
446 | 433 | cannot_escape_pit |
447 | 434 | WAIT(50*2) |
448 | 435 | .byt COMMAND_BUBBLE,1,127 |
449 | - .byt RECTANGLE(6,8,86,11) | |
450 | - .byt OFFSET(1,0),"It did not look",0 | |
436 | + .byt 6,8,0,"It did not look",0 | |
451 | 437 | WAIT(50) |
452 | 438 | .byt COMMAND_BUBBLE,1,127 |
453 | - .byt RECTANGLE(176,42,54,15) | |
454 | - .byt OFFSET(1,0),"that deep",0 | |
439 | + .byt 176,42,0,"that deep",0 | |
455 | 440 | WAIT(50) |
456 | 441 | .byt COMMAND_BUBBLE,1,127 |
457 | - .byt RECTANGLE(82,94,74,15) | |
458 | - .byt OFFSET(1,0),"from outside",0 | |
442 | + .byt 82,94,0,"from outside",0 | |
459 | 443 | |
460 | 444 | WAIT(50*2) ; Wait a couple seconds for dramatic effect |
461 | 445 |
@@ -480,10 +464,8 @@ | ||
480 | 464 | digging_for_gold |
481 | 465 | WAIT(DELAY_FIRST_BUBBLE) |
482 | 466 | .byt COMMAND_BUBBLE,2,64 |
483 | - .byt RECTANGLE(5,94,98,15) | |
484 | - .byt RECTANGLE(5,103,55,19) | |
485 | - .byt OFFSET(1,0),"Are they digging",0 | |
486 | - .byt OFFSET(1,4),"for gold?",0 | |
467 | + .byt 5,94,0,"Are they digging",0 | |
468 | + .byt 5,103,4,"for gold?",0 | |
487 | 469 | END |
488 | 470 | .) |
489 | 471 |
@@ -490,10 +472,8 @@ | ||
490 | 472 | _gDescriptionTarmacArea |
491 | 473 | WAIT(DELAY_FIRST_BUBBLE) |
492 | 474 | .byt COMMAND_BUBBLE,2,64 |
493 | - .byt RECTANGLE(149,5,86,11) | |
494 | - .byt RECTANGLE(152,15,82,11) | |
495 | - .byt OFFSET(1,0),"Ashes to Ashes",0 | |
496 | - .byt OFFSET(1,0),"Rust to Rust...",0 | |
475 | + .byt 149,5,0,"Ashes to Ashes",0 | |
476 | + .byt 152,15,0,"Rust to Rust...",0 | |
497 | 477 | END |
498 | 478 | |
499 | 479 | _gDescriptionOldWell |
@@ -510,102 +490,79 @@ | ||
510 | 490 | ; Then show the messages |
511 | 491 | WAIT(DELAY_FIRST_BUBBLE) |
512 | 492 | .byt COMMAND_BUBBLE,2,64 |
513 | - .byt RECTANGLE(111,5,124,12) | |
514 | - .byt RECTANGLE(158,16,75,11) | |
515 | - .byt OFFSET(1,0),"This well looks as old",0 | |
516 | - .byt OFFSET(1,0),"as the church",0 | |
493 | + .byt 111,5,0,"This well looks as old",0 | |
494 | + .byt 158,16,0,"as the church",0 | |
517 | 495 | END |
518 | 496 | |
519 | 497 | _gDescriptionWoodedAvenue |
520 | 498 | WAIT(DELAY_FIRST_BUBBLE) |
521 | 499 | .byt COMMAND_BUBBLE,2,64 |
522 | - .byt RECTANGLE(4,4,144,16) | |
523 | - .byt RECTANGLE(4,14,129,16) | |
524 | - .byt OFFSET(1,0),"These trees have probably",0 | |
525 | - .byt OFFSET(1,1),"witnessed many things",0 | |
500 | + .byt 4,4,0,"These trees have probably",0 | |
501 | + .byt 4,14,1,"witnessed many things",0 | |
526 | 502 | END |
527 | 503 | |
528 | 504 | _gDescriptionGravelDrive |
529 | 505 | WAIT(DELAY_FIRST_BUBBLE) |
530 | 506 | .byt COMMAND_BUBBLE,3,64 |
531 | - .byt RECTANGLE(127,86,108,11) | |
532 | - .byt RECTANGLE(143,97,92,11) | |
533 | - .byt RECTANGLE(182,107,53,15) | |
534 | - .byt OFFSET(1,0),"Kind o",255-2,"f impressive",0 | |
535 | - .byt OFFSET(1,0),"when seen from",0 | |
536 | - .byt OFFSET(1,0),"f",255-2,"ar away",0 | |
507 | + .byt 127,86,0,"Kind o",255-2,"f impressive",0 | |
508 | + .byt 143,97,0,"when seen from",0 | |
509 | + .byt 182,107,0,"f",255-2,"ar away",0 | |
537 | 510 | END |
538 | 511 | |
539 | 512 | _gDescriptionZenGarden |
540 | 513 | WAIT(DELAY_FIRST_BUBBLE) |
541 | 514 | .byt COMMAND_BUBBLE,2,64 |
542 | - .byt RECTANGLE(4,4,139,11) | |
543 | - .byt RECTANGLE(4,15,72,16) | |
544 | - .byt OFFSET(1,0),"A Japanese Zen Garden?",0 | |
545 | - .byt OFFSET(1,1),"In England?",0 | |
515 | + .byt 4,4,0,"A Japanese Zen Garden?",0 | |
516 | + .byt 4,15,1,"In England?",0 | |
546 | 517 | END |
547 | 518 | |
548 | 519 | _gDescriptionFrontLawn |
549 | 520 | WAIT(DELAY_FIRST_BUBBLE) |
550 | 521 | .byt COMMAND_BUBBLE,2,64 |
551 | - .byt RECTANGLE(5,5,93,11) | |
552 | - .byt RECTANGLE(5,15,84,16) | |
553 | - .byt OFFSET(1,0),"The per",255-2,"f",255-2,"ect home",0 | |
554 | - .byt OFFSET(1,1),"f",255-2,"or egomaniacs",0 | |
522 | + .byt 5,5,0,"The per",255-2,"f",255-2,"ect home",0 | |
523 | + .byt 5,15,1,"f",255-2,"or egomaniacs",0 | |
555 | 524 | END |
556 | 525 | |
557 | 526 | _gDescriptionGreenHouse |
558 | 527 | WAIT(DELAY_FIRST_BUBBLE) |
559 | 528 | .byt COMMAND_BUBBLE,2,64 |
560 | - .byt RECTANGLE(4,96,80,15) | |
561 | - .byt RECTANGLE(4,107,98,16) | |
562 | - .byt OFFSET(1,0),"Obviously f",255-2,"or",0 | |
563 | - .byt OFFSET(1,1),34,"Therapeutic use",34,0 | |
529 | + .byt 4,96,0,"Obviously f",255-2,"or",0 | |
530 | + .byt 4,107,1,"Therapeutic use",34,0 | |
564 | 531 | END |
565 | 532 | |
566 | 533 | _gDescriptionTennisCourt |
567 | 534 | WAIT(DELAY_FIRST_BUBBLE) |
568 | 535 | .byt COMMAND_BUBBLE,2,64 |
569 | - .byt RECTANGLE(4,4,107,12) | |
570 | - .byt RECTANGLE(4,15,150,15) | |
571 | - .byt OFFSET(1,0),"That's more like it:",0 | |
572 | - .byt OFFSET(1,0),"a proper lawn tennis court",0 | |
536 | + .byt 4,4,0,"That's more like it:",0 | |
537 | + .byt 4,15,0,"a proper lawn tennis court",0 | |
573 | 538 | END |
574 | 539 | |
575 | 540 | _gDescriptionVegetableGarden |
576 | 541 | WAIT(DELAY_FIRST_BUBBLE) |
577 | 542 | .byt COMMAND_BUBBLE,2,64 |
578 | - .byt RECTANGLE(134,5,100,12) | |
579 | - .byt RECTANGLE(136,15,98,16) | |
580 | - .byt OFFSET(1,0),"Not the best spot",0 | |
581 | - .byt OFFSET(1,1),"to grow tomatoes",0 | |
543 | + .byt 134,5,0,"Not the best spot",0 | |
544 | + .byt 136,15,1,"to grow tomatoes",0 | |
582 | 545 | END |
583 | 546 | |
584 | 547 | _gDescriptionFishPond |
585 | 548 | WAIT(DELAY_FIRST_BUBBLE) |
586 | 549 | .byt COMMAND_BUBBLE,2,64 |
587 | - .byt RECTANGLE(5,5,116,12) | |
588 | - .byt RECTANGLE(5,17,116,15) | |
589 | - .byt OFFSET(1,0),"Some o",255-2,"f these f",255-1,"ishes",0 | |
590 | - .byt OFFSET(1,0),"are sur",255-1,"prinsingly big",0 | |
550 | + .byt 5,5,0,"Some of these f",255-1,"ishes",0 | |
551 | + .byt 5,17,0,"are sur",255-1,"prinsingly big",0 | |
591 | 552 | END |
592 | 553 | |
593 | 554 | _gDescriptionTiledPatio |
594 | 555 | WAIT(DELAY_FIRST_BUBBLE) |
595 | 556 | .byt COMMAND_BUBBLE,2,64 |
596 | - .byt RECTANGLE(93,5,143,11) | |
597 | - .byt RECTANGLE(110,15,126,15) | |
598 | - .byt OFFSET(1,0),"The house's back entrance",0 | |
599 | - .byt OFFSET(1,0),"is accessible from here",0 | |
557 | + .byt 93,5,0,"The house's back entrance",0 | |
558 | + .byt 110,15,0,"is accessible from here",0 | |
600 | 559 | END |
601 | 560 | |
602 | 561 | _gDescriptionAppleOrchard |
603 | 562 | WAIT(DELAY_FIRST_BUBBLE) |
604 | 563 | .byt COMMAND_BUBBLE,2,64 |
605 | - .byt RECTANGLE(5,5,136,15) | |
606 | - .byt RECTANGLE(5,17,139,15) | |
607 | - .byt OFFSET(1,0),"The best kind o",255-2,"f apples:",0 | |
608 | - .byt OFFSET(1,0),"sweet",255-1,", crunchy and juicy",0 | |
564 | + .byt 5,5,0,"The best kind o",255-2,"f apples:",0 | |
565 | + .byt 5,17,0,"sweet",255-1,", crunchy and juicy",0 | |
609 | 566 | END |
610 | 567 | |
611 | 568 | _gDescriptionEntranceHall |
@@ -619,10 +576,8 @@ | ||
619 | 576 | ; Text describing the dead dog |
620 | 577 | WAIT(DELAY_FIRST_BUBBLE) |
621 | 578 | .byt COMMAND_BUBBLE,2,64 |
622 | - .byt RECTANGLE(5,5,89,14) | |
623 | - .byt RECTANGLE(5,17,115,15) | |
624 | - .byt OFFSET(1,0),"Let's call that a ",0 | |
625 | - .byt OFFSET(1,0),34,"Collateral Damage",34,0 | |
579 | + .byt 5,5,0,"Let's call that a ",0 | |
580 | + .byt 5,17,0,"Collateral Damage",34,0 | |
626 | 581 | END |
627 | 582 | |
628 | 583 | dog_alive |
@@ -631,10 +586,8 @@ | ||
631 | 586 | ; Text describing the growling dog |
632 | 587 | WAIT(DELAY_FIRST_BUBBLE) |
633 | 588 | .byt COMMAND_BUBBLE,2,64 |
634 | - .byt RECTANGLE(5,5,139,15) | |
635 | - .byt RECTANGLE(5,19,120,15) | |
636 | - .byt OFFSET(1,0),"O",255-2,"f course there is a dog.",0 | |
637 | - .byt OFFSET(1,0),"There's always a dog.",0 | |
589 | + .byt 5,5,0,"O",255-2,"f course there is a dog.",0 | |
590 | + .byt 5,19,0,"There's always a dog.",0 | |
638 | 591 | END |
639 | 592 | |
640 | 593 | end_dog |
@@ -641,10 +594,8 @@ | ||
641 | 594 | ; Some generic message in case the dog is not there (probably not displayed right now) |
642 | 595 | WAIT(DELAY_FIRST_BUBBLE) |
643 | 596 | .byt COMMAND_BUBBLE,2,64 |
644 | - .byt RECTANGLE(124,5,111,14) | |
645 | - .byt RECTANGLE(187,17,48,11) | |
646 | - .byt OFFSET(1,0),"Quite an impressive",0 | |
647 | - .byt OFFSET(1,0),"staircase",0 | |
597 | + .byt 124,5,0,"Quite an impressive",0 | |
598 | + .byt 187,17,0,"staircase",0 | |
648 | 599 | END |
649 | 600 | |
650 | 601 | _gDescriptionDogAttacking |
@@ -652,8 +603,7 @@ | ||
652 | 603 | ; |
653 | 604 | WAIT(DELAY_FIRST_BUBBLE) |
654 | 605 | .byt COMMAND_BUBBLE,1,64 |
655 | - .byt RECTANGLE(5,108,35,15) | |
656 | - .byt OFFSET(1,0),"Oops...",0 | |
606 | + .byt 5,108,0,"Oops...",0 | |
657 | 607 | WAIT(50*2) ; Wait a couple seconds |
658 | 608 | JUMP(_gDescriptionGameOverLost) ; Game Over |
659 | 609 |
@@ -662,186 +612,146 @@ | ||
662 | 612 | _gDescriptionLibrary |
663 | 613 | WAIT(DELAY_FIRST_BUBBLE) |
664 | 614 | .byt COMMAND_BUBBLE,2,64 |
665 | - .byt RECTANGLE(5,86,119,11) | |
666 | - .byt RECTANGLE(5,97,110,15) | |
667 | - .byt OFFSET(1,0),"Books, fireplace, and",0 | |
668 | - .byt OFFSET(1,0),"a com",255-2,"f",255-2,"ortable chair",0 | |
615 | + .byt 5,86,0,"Books, fireplace, and",0 | |
616 | + .byt 5,97,0,"a com",255-2,"f",255-2,"ortable chair",0 | |
669 | 617 | END |
670 | 618 | |
671 | 619 | _gDescriptionNarrowPassage |
672 | 620 | WAIT(DELAY_FIRST_BUBBLE) |
673 | 621 | .byt COMMAND_BUBBLE,3,127 |
674 | - .byt RECTANGLE(5,48,122,13) | |
675 | - .byt RECTANGLE(12,68,98,15) | |
676 | - .byt RECTANGLE(37,90,52,15) | |
677 | - .byt OFFSET(1,0),"Either they love dark",0 | |
678 | - .byt OFFSET(1,0),"or they f",255-2,"orgot to",0 | |
679 | - .byt OFFSET(1,0),"pay their",0 | |
622 | + .byt 5,48,0,"Either they love dark",0 | |
623 | + .byt 12,68,0,"or they f",255-2,"orgot to",0 | |
624 | + .byt 37,90,0,"pay their",0 | |
680 | 625 | |
681 | 626 | .byt COMMAND_BUBBLE,1,64 |
682 | - .byt RECTANGLE(75,110,26,11) | |
683 | - .byt OFFSET(1,0),"bills",0 | |
684 | - | |
627 | + .byt 75,110,0,"bills",0 | |
685 | 628 | END |
686 | 629 | |
687 | 630 | _gDescriptionEntranceLounge |
688 | 631 | WAIT(DELAY_FIRST_BUBBLE) |
689 | 632 | .byt COMMAND_BUBBLE,2,64 |
690 | - .byt RECTANGLE(5,5,105,11) | |
691 | - .byt RECTANGLE(5,15,49,15) | |
692 | - .byt OFFSET(1,0),"Looks like someone",0 | |
693 | - .byt OFFSET(1,0),"had fun",0 | |
633 | + .byt 5,5,0,"Looks like someone",0 | |
634 | + .byt 5,15,0,"had fun",0 | |
694 | 635 | END |
695 | 636 | |
696 | 637 | _gDescriptionDiningRoom |
697 | 638 | WAIT(DELAY_FIRST_BUBBLE) |
698 | 639 | .byt COMMAND_BUBBLE,2,64 |
699 | - .byt RECTANGLE(5,95,69,13) | |
700 | - .byt RECTANGLE(5,107,84,15) | |
701 | - .byt OFFSET(1,0),"Two plates...",0 | |
702 | - .byt OFFSET(1,0),"...good to know",0 | |
640 | + .byt 5,95,0,"Two plates...",0 | |
641 | + .byt 5,107,0,"...good to know",0 | |
703 | 642 | END |
704 | 643 | |
705 | 644 | _gDescriptionGamesRoom |
706 | 645 | WAIT(DELAY_FIRST_BUBBLE) |
707 | 646 | .byt COMMAND_BUBBLE,2,64 |
708 | - .byt RECTANGLE(142,5,93,13) | |
709 | - .byt RECTANGLE(164,16,71,15) | |
710 | - .byt OFFSET(1,0),"T",255-2,"op o",255-2,"f the range",0 | |
711 | - .byt OFFSET(1,0),"video system",0 | |
647 | + .byt 142,5,0,"T",255-2,"op o",255-2,"f the range",0 | |
648 | + .byt 164,16,0,"video system",0 | |
712 | 649 | |
713 | 650 | WAIT(50) |
714 | 651 | |
715 | 652 | .byt COMMAND_BUBBLE,1,64 |
716 | - .byt RECTANGLE(175,40,60,15) | |
717 | - .byt OFFSET(1,0),"Impressive",0 | |
653 | + .byt 175,40,0,"Impressive",0 | |
718 | 654 | END |
719 | 655 | |
720 | 656 | _gDescriptionSunLounge |
721 | 657 | WAIT(DELAY_FIRST_BUBBLE) |
722 | 658 | .byt COMMAND_BUBBLE,1,64 |
723 | - .byt RECTANGLE(112,5,123,15) | |
724 | - .byt OFFSET(1,0),"No rest ",255-2,"f",255-2,"or the weary",0 | |
659 | + .byt 112,5,0,"No rest ",255-2,"f",255-2,"or the weary",0 | |
725 | 660 | END |
726 | 661 | |
727 | 662 | _gDescriptionKitchen |
728 | 663 | WAIT(DELAY_FIRST_BUBBLE) |
729 | 664 | .byt COMMAND_BUBBLE,2,64 |
730 | - .byt RECTANGLE(5,5,71,11) | |
731 | - .byt RECTANGLE(5,16,41,12) | |
732 | - .byt OFFSET(1,0),"A very basic",0 | |
733 | - .byt OFFSET(1,0),"kitchen",0 | |
665 | + .byt 5,5,0,"A very basic",0 | |
666 | + .byt 5,16,0,"kitchen",0 | |
734 | 667 | END |
735 | 668 | |
736 | 669 | _gDescriptionNarrowStaircase |
737 | 670 | WAIT(DELAY_FIRST_BUBBLE) |
738 | 671 | .byt COMMAND_BUBBLE,1,127 |
739 | - .byt RECTANGLE(5,5,95,15) | |
740 | - .byt OFFSET(1,0),"Watch your step",0 | |
672 | + .byt 5,5,0,"Watch your step",0 | |
741 | 673 | END |
742 | 674 | |
743 | 675 | _gDescriptionCellar |
744 | 676 | WAIT(DELAY_FIRST_BUBBLE) |
745 | 677 | .byt COMMAND_BUBBLE,2,127 |
746 | - .byt RECTANGLE(75,15,90,12) | |
747 | - .byt RECTANGLE(80,25,67,15) | |
748 | - .byt OFFSET(1,0),"Is that a Franz",0 | |
749 | - .byt OFFSET(1,0),"Jager safe?",0 | |
678 | + .byt 75,15,0,"Is that a Franz",0 | |
679 | + .byt 80,25,0,"Jager safe?",0 | |
750 | 680 | END |
751 | 681 | |
752 | 682 | _gDescriptionDarkerCellar |
753 | 683 | WAIT(DELAY_FIRST_BUBBLE) |
754 | 684 | .byt COMMAND_BUBBLE,2,127 |
755 | - .byt RECTANGLE(5,99,104,12) | |
756 | - .byt RECTANGLE(5,109,77,13) | |
757 | - .byt OFFSET(1,0),"The window seems",0 | |
758 | - .byt OFFSET(1,0),"to be occulted",0 | |
685 | + .byt 5,99,0,"The window seems",0 | |
686 | + .byt 5,109,0,"to be occulted",0 | |
759 | 687 | END |
760 | 688 | |
761 | 689 | _gDescriptionStaircase |
762 | 690 | WAIT(DELAY_FIRST_BUBBLE) |
763 | 691 | .byt COMMAND_BUBBLE,3,64 |
764 | - .byt RECTANGLE(16,8,32,15) | |
765 | - .byt RECTANGLE(179,8,39,12) | |
766 | - .byt RECTANGLE(60,72,119,15) | |
767 | - .byt OFFSET(1,0),"Left?",0 | |
768 | - .byt OFFSET(1,0),"Right?",0 | |
769 | - .byt OFFSET(1,0),"does it really matter?",0 | |
692 | + .byt 16,8,0,"Left?",0 | |
693 | + .byt 179,8,0,"Right?",0 | |
694 | + .byt 60,72,0,"does it really matter?",0 | |
770 | 695 | END |
771 | 696 | |
772 | 697 | _gDescriptionMainLanding |
773 | 698 | WAIT(DELAY_FIRST_BUBBLE) |
774 | 699 | .byt COMMAND_BUBBLE,1,64 |
775 | - .byt RECTANGLE(47,70,143,15) | |
776 | - .byt OFFSET(1,0),"Nice view from up there",0 | |
700 | + .byt 47,70,0,"Nice view from up there",0 | |
777 | 701 | END |
778 | 702 | |
779 | 703 | _gDescriptionEastGallery |
780 | 704 | WAIT(DELAY_FIRST_BUBBLE) |
781 | 705 | .byt COMMAND_BUBBLE,2,64 |
782 | - .byt RECTANGLE(5,5,90,12) | |
783 | - .byt RECTANGLE(20,17,34,12) | |
784 | - .byt OFFSET(1,0),"Boring corridor:",0 | |
785 | - .byt OFFSET(1,0),"Check",0 | |
706 | + .byt 5,5,0,"Boring corridor:",0 | |
707 | + .byt 20,17,0,"Check",0 | |
786 | 708 | END |
787 | 709 | |
788 | 710 | _gDescriptionChildBedroom |
789 | 711 | WAIT(DELAY_FIRST_BUBBLE) |
790 | 712 | .byt COMMAND_BUBBLE,2,64 |
791 | - .byt RECTANGLE(5,96,74,12) | |
792 | - .byt RECTANGLE(5,107,85,15) | |
793 | - .byt OFFSET(1,0),"Let me guess:",0 | |
794 | - .byt OFFSET(1,0),"Teenager room?",0 | |
713 | + .byt 5,96,0,"Let me guess:",0 | |
714 | + .byt 5,107,0,"Teenager room?",0 | |
795 | 715 | END |
796 | 716 | |
797 | 717 | _gDescriptionGuestBedroom |
798 | 718 | WAIT(DELAY_FIRST_BUBBLE) |
799 | 719 | .byt COMMAND_BUBBLE,2,64 |
800 | - .byt RECTANGLE(5,6,92,12) | |
801 | - .byt RECTANGLE(5,17,71,15) | |
802 | - .byt OFFSET(1,0),"Simple and ",255-2,"f",255-2,"resh",0 | |
803 | - .byt OFFSET(1,0),"f",255-2,"or a change",0 | |
720 | + .byt 5,6,0,"Simple and ",255-2,"f",255-2,"resh",0 | |
721 | + .byt 5,17,0,"f",255-2,"or a change",0 | |
804 | 722 | END |
805 | 723 | |
806 | 724 | _gDescriptionShowerRoom |
807 | 725 | WAIT(DELAY_FIRST_BUBBLE) |
808 | 726 | .byt COMMAND_BUBBLE,2,64 |
809 | - .byt RECTANGLE(149,5,86,12) | |
810 | - .byt RECTANGLE(152,16,83,13) | |
811 | - .byt OFFSET(1,0),"I will need one",0 | |
812 | - .byt OFFSET(1,0),"when I'm done",0 | |
727 | + .byt 149,5,0,"I will need one",0 | |
728 | + .byt 152,16,0,"when I'm done",0 | |
813 | 729 | END |
814 | 730 | |
815 | 731 | _gDescriptionWestGallery |
816 | 732 | WAIT(DELAY_FIRST_BUBBLE) |
817 | 733 | .byt COMMAND_BUBBLE,2,127 |
818 | - .byt RECTANGLE(85,81,72,13) | |
819 | - .byt RECTANGLE(60,92,112,13) | |
820 | - .byt OFFSET(1,0),"Is that Steel",0 | |
821 | - .byt OFFSET(1,0),"behind the Curtain?",0 | |
734 | + .byt 85,81,0,"Is that Steel",0 | |
735 | + .byt 60,92,0,"behind the Curtain?",0 | |
822 | 736 | END |
823 | 737 | |
824 | 738 | _gDescriptionBoxRoom |
825 | 739 | WAIT(DELAY_FIRST_BUBBLE) |
826 | 740 | .byt COMMAND_BUBBLE,2,64 |
827 | - .byt RECTANGLE(5,5,63,11) | |
828 | - .byt RECTANGLE(5,16,59,11) | |
829 | - .byt OFFSET(1,0),"A practical",0 | |
830 | - .byt OFFSET(1,0),"little room",0 | |
741 | + .byt 5,5,0,"A practical",0 | |
742 | + .byt 5,16,0,"little room",0 | |
831 | 743 | END |
832 | 744 | |
833 | 745 | _gDescriptionClassyBathRoom |
834 | 746 | WAIT(DELAY_FIRST_BUBBLE) |
835 | 747 | .byt COMMAND_BUBBLE,1,64 |
836 | - .byt RECTANGLE(132,5,103,15) | |
837 | - .byt OFFSET(1,0),"Looks comfortable",0 | |
748 | + .byt 132,5,0,"Looks comfortable",0 | |
838 | 749 | END |
839 | 750 | |
840 | 751 | _gDescriptionTinyToilet |
841 | 752 | WAIT(DELAY_FIRST_BUBBLE) |
842 | 753 | .byt COMMAND_BUBBLE,1,64 |
843 | - .byt RECTANGLE(137,5,98,15) | |
844 | - .byt OFFSET(1,0),"Sparklingly clean",0 | |
754 | + .byt 137,5,0,"Sparklingly clean",0 | |
845 | 755 | END |
846 | 756 | |
847 | 757 | _gDescriptionMasterBedRoom |
@@ -860,10 +770,8 @@ | ||
860 | 770 | ; Text describing the dead thug |
861 | 771 | WAIT(DELAY_FIRST_BUBBLE) |
862 | 772 | .byt COMMAND_BUBBLE,2,64 |
863 | - .byt RECTANGLE(5,5,89,14) | |
864 | - .byt RECTANGLE(5,17,115,15) | |
865 | - .byt OFFSET(1,0),"Let's call that a ",0 | |
866 | - .byt OFFSET(1,0),34,"Collateral Damage",34,0 | |
773 | + .byt 5,5,0,"Let's call that a ",0 | |
774 | + .byt 5,17,0,"Collateral Damage",34,0 | |
867 | 775 | END |
868 | 776 | |
869 | 777 | thug_alive |
@@ -873,10 +781,8 @@ | ||
873 | 781 | ; Draw the message |
874 | 782 | WAIT(DELAY_FIRST_BUBBLE) |
875 | 783 | .byt COMMAND_BUBBLE,2,64 |
876 | - .byt RECTANGLE(5,5,124,15) | |
877 | - .byt RECTANGLE(5,16,84,15) | |
878 | - .byt OFFSET(1,0),"This will make things",0 | |
879 | - .byt OFFSET(1,0),"notably easier...",0 | |
784 | + .byt 5,5,0,"This will make things",0 | |
785 | + .byt 5,16,0,"notably easier...",0 | |
880 | 786 | ; Should probably have a "game over" command |
881 | 787 | END |
882 | 788 |
@@ -884,10 +790,8 @@ | ||
884 | 790 | ; Draw the message |
885 | 791 | WAIT(DELAY_FIRST_BUBBLE) |
886 | 792 | .byt COMMAND_BUBBLE,2,64 |
887 | - .byt RECTANGLE(5,5,124,15) | |
888 | - .byt RECTANGLE(5,16,84,15) | |
889 | - .byt OFFSET(1,0),"This was make things",0 | |
890 | - .byt OFFSET(1,0),"notably easier...",0 | |
793 | + .byt 5,5,0,"This was make things",0 | |
794 | + .byt 5,16,0,"notably easier...",0 | |
891 | 795 | ; Should probably have a "game over" command |
892 | 796 | .byt COMMAND_FADE_BUFFER |
893 | 797 | END |
@@ -898,24 +802,19 @@ | ||
898 | 802 | ; Draw the message |
899 | 803 | WAIT(50*2) ; Wait a couple seconds |
900 | 804 | .byt COMMAND_BUBBLE,2,64 |
901 | - .byt RECTANGLE(5,5,111,11) | |
902 | - .byt RECTANGLE(60,16,69,15) | |
903 | - .byt OFFSET(1,0),"This was a mistake:",0 | |
904 | - .byt OFFSET(1,0),"My last one",0 | |
805 | + .byt 5,5,0,"This was a mistake:",0 | |
806 | + .byt 60,16,0,"My last one",0 | |
905 | 807 | WAIT(50*2) ; Wait a couple seconds |
906 | 808 | JUMP(_gDescriptionGameOverLost) ; Game Over |
907 | 809 | |
908 | 810 | |
909 | 811 | _gDescriptionPadlockedRoom |
812 | + WAIT(DELAY_FIRST_BUBBLE) | |
910 | 813 | .byt COMMAND_BUBBLE,4,64 |
911 | - .byt RECTANGLE(5,5,41,11) | |
912 | - .byt RECTANGLE(125,16,110,11) | |
913 | - .byt RECTANGLE(131,53,104,15) | |
914 | - .byt RECTANGLE(140,90,74,15) | |
915 | - .byt OFFSET(1,0),"Damn...",0 | |
916 | - .byt OFFSET(1,0),"I will never be able",0 | |
917 | - .byt OFFSET(1,0),"to pick these locks",0 | |
918 | - .byt OFFSET(1,0),"fast enough!",0 | |
814 | + .byt 5,5,0,"Damn...",0 | |
815 | + .byt 125,16,0,"I will never be able",0 | |
816 | + .byt 131,53,0,"to pick these locks",0 | |
817 | + .byt 140,90,0,"fast enough!",0 | |
919 | 818 | END |
920 | 819 | |
921 | 820 |