![]() |
Routines |
| H | Character number of kid |
| 27904 | LD A,H | Determine the x-coordinate at which this boy will sit during assembly based on his character number (H) and his current x-coordinate (in byte 1 of the character buffer) |
| 27905 | AND 3 | |
| 27907 | CPL | |
| 27908 | LD L,1 | |
| 27910 | ADD A,(HL) | |
| 27911 | LD L,11 | Store this x-coordinate in byte 11 of the kid's character buffer |
| 27913 | LD (HL),A |
| 27914 | LD BC,25581 | Redirect control to the routine at 25581 (walk to location) and then return to 27920 |
| 27917 | CALL 25503 |
| 27920 | LD L,0 | Byte 0 of the character buffer holds the kid's animatory state |
| 27922 | BIT 7,(HL) | Is he facing left? |
| 27924 | JP Z,25648 | Make him turn round to face the stage if so |
| 27927 | LD L,4 | Remove the address of this routine's entry point (27920) from bytes 3 and 4 of the character buffer |
| 27929 | LD (HL),0 | |
| 27931 | CALL 25012 | Update SRB for the character's current animatory state and location |
| 27934 | AND 240 | A=animatory state of character sitting on the floor |
| 27936 | ADD A,5 | |
| 27938 | CALL 30534 | Update SRB for character's new animatory state, and place the address of the entry point at 27941 (below) into bytes 17 and 18 of the character buffer |
| 27941 | LD A,(32640) | Check bit 7 of 32640 (set by 61658, reset by 62032): has assembly finished yet? |
| 27944 | RLCA | |
| 27945 | RET C | Return if not |
| 27946 | LD L,18 | Remove the address of this routine's entry point (27941) from bytes 17 and 18 of the character's buffer, triggering a move to the next instruction in the command list |
| 27948 | LD (HL),0 | |
| 27950 | JP 26818 | Stand up before continuing, though |