![]() |
Routines |
Prev: 27903 | Up: Map | Next: 27953 |
Used by command lists 20, 40 and 88. Makes a boy find a spot to sit down in the assembly hall, and stay seated until assembly is finished.
|
||||
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 boy's character buffer | ||
27913 | LD (HL),A | |||
Having determined where the boy will sit, send him there.
|
||||
27914 | LD BC,25581 | Redirect control to the routine at 25581 (walk to location) and then return to 27920 | ||
27917 | CALL 25503 | |||
This entry point is used after the boy has reached the point where he will sit.
|
||||
27920 | LD L,0 | Byte 0 of the character buffer holds the boy'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 the SRB for the boy's current animatory state and location | ||
27934 | AND 240 | A=animatory state of the boy sitting on the floor | ||
27936 | ADD A,5 | |||
27938 | CALL 30534 | Update the boy's animatory state, update the SRB, and place the address of the entry point at 27941 (below) into bytes 17 and 18 of the character buffer | ||
This entry point is used after the boy has sat down facing the stage.
|
||||
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 command in the command list | ||
27948 | LD (HL),0 | |||
27950 | JP 26818 | Make the boy stand up before continuing, though |
Prev: 27903 | Up: Map | Next: 27953 |