![]() |
Routines |
Prev: 25600 | Up: Map |
|
||||||||
25618 | LD L,2 | Copy sprite tiles 2-7 over sprite tiles 239-244 | ||||||
25620 | LD E,239 | |||||||
25622 | LD C,6 | |||||||
25624 | CALL 25600 | |||||||
25627 | LD E,242 | Copy sprite tile 170 over sprite tile 242 | ||||||
25629 | LD L,170 | |||||||
25631 | INC C | |||||||
25632 | CALL 25600 | |||||||
25635 | LD A,181 | Copy sprite tiles 181, 189 and 197 from base page 215 over sprite tiles 245-247 | ||||||
25637 | LD E,245 | |||||||
25639 | LD L,A | |||||||
25640 | LD H,215 | |||||||
25642 | INC C | |||||||
25643 | CALL 25602 | |||||||
25646 | LD A,L | |||||||
25647 | ADD A,7 | |||||||
25649 | CP 205 | |||||||
25651 | JR NZ,25639 | |||||||
25653 | LD B,8 | Superimpose sprite tile 205 from base page 215 over sprite tile 243 (which is currently a copy of sprite tile 6, the centre tile of Sam's base animatory state); this makes Sam appear to bend his arms and hold his knees while performing the acrobatic feat, at the expense of losing some detail from his current disguise | ||||||
25655 | LD HL,55245 | |||||||
25658 | LD DE,51187 | |||||||
25661 | LD A,(DE) | |||||||
25662 | OR (HL) | |||||||
25663 | INC H | |||||||
25664 | AND (HL) | |||||||
25665 | INC H | |||||||
25666 | LD (DE),A | |||||||
25667 | INC D | |||||||
25668 | LD (DE),A | |||||||
25669 | INC D | |||||||
25670 | DJNZ 25661 | |||||||
This entry point is used by the routine at 25789. Here we rotate sprite tiles 239-247 and store the results in sprite tile slots 238-246.
|
||||||||
25672 | LD L,239 | Tile 239 is the first source tile | ||||||
25674 | LD E,L | E=238 (the first target tile) | ||||||
25675 | DEC E | |||||||
25676 | LD D,199 | The base page for these tiles is 199 | ||||||
25678 | LD B,8 | Rotate the source sprite tile 90 degrees anticlockwise and copy it over the target sprite tile | ||||||
25680 | LD H,198 | |||||||
25682 | LD C,1 | |||||||
25684 | INC H | |||||||
25685 | RRC (HL) | |||||||
25687 | RLA | |||||||
25688 | INC H | |||||||
25689 | RRC (HL) | |||||||
25691 | RL C | |||||||
25693 | JR NC,25684 | |||||||
25695 | LD (DE),A | |||||||
25696 | INC D | |||||||
25697 | LD A,C | |||||||
25698 | LD (DE),A | |||||||
25699 | INC D | |||||||
25700 | DJNZ 25680 | |||||||
25702 | INC L | Move to the next source sprite tile reference | ||||||
25703 | BIT 3,L | Have we rotated sprite tiles 239-247 yet? | ||||||
25705 | JR Z,25674 | Jump back if not | ||||||
Next we move sprite tiles 238-246 up to 239-247.
|
||||||||
25707 | LD A,16 | There are 16 bytes of graphic and mask data in each tile | ||||||
25709 | LD E,247 | Copy sprite tiles 238-246 into slots 239-247 | ||||||
25711 | LD L,246 | |||||||
25713 | LD C,9 | |||||||
25715 | DEC D | |||||||
25716 | LD H,D | |||||||
25717 | LDDR | |||||||
25719 | DEC A | |||||||
25720 | JR NZ,25709 | |||||||
25722 | RET | Return with the zero flag set |
Prev: 25600 | Up: Map |