Prev: 33223 Up: Map Next: 33395
33275: ArmStraight
Walk handler for straight wall glyphs (126/127/132/133): a no-op, the walk keeps its current heading.
33275 RET
ArmCornerTopLeft — walk handler for corner glyph 128, which joins a south-going edge to an east-going one: a walker heading north exits east; any other heading exits south.
33276 LD HL,(31244) L = low byte of current heading
33279 LD A,L
33280 LD DE,32 default: turn south
33283 LD HL,20 (attr step 32, grid step 20)
33286 CP 224 heading north (-32, low byte 224)?
33288 JR NZ,33296
33290 LD DE,1 yes: turn east
33293 LD HL,1 (attr step 1, grid step 1)
33296 LD (31244),DE store the new heading
33300 LD (31246),HL
33303 RET
ArmCornerBottomLeft — corner glyph 129 joins a north-going edge to an east-going one: heading south exits east; otherwise exits north.
33304 LD HL,(31244) L = low byte of current heading
33307 LD A,L
33308 LD DE,1 default: turn east
33311 LD HL,1 (attr step 1, grid step 1)
33314 CP 32 heading south?
33316 JR Z,33324
33318 LD DE,65504 no: turn north (DE = -32, HL = -20)
33321 LD HL,65516
33324 LD (31244),DE store the new heading
33328 LD (31246),HL
33331 RET
ArmCornerBottomRight — corner glyph 130 joins a west-going edge to a north-going one: heading east exits north; otherwise exits west.
33332 LD HL,(31244) L = low byte of current heading
33335 LD A,L
33336 LD DE,65504 default: turn north (DE = -32, HL = -20)
33339 LD HL,65516
33342 CP 1 heading east?
33344 JR Z,33352
33346 LD DE,65535 no: turn west
33349 LD HL,65535
33352 LD (31244),DE store the new heading
33356 LD (31246),HL
33359 RET
ArmCornerTopRight — corner glyph 131 joins a west-going edge to a south-going one: heading east exits south; otherwise exits west.
33360 LD HL,(31244) L = low byte of current heading
33363 LD A,L
33364 LD DE,32 default: turn south
33367 LD HL,20 (attr step 32, grid step 20)
33370 CP 1 heading east?
33372 JR Z,33380
33374 LD DE,65535 no: turn west
33377 LD HL,65535
33380 LD (31244),DE store the new heading
33384 LD (31246),HL
33387 RET
ArmEndNode — walk handler for the duct grille (125) and junction nodes (142/143): pops DrawDoorArm's looping return address, paints the node cell cyan and ends the walk.
33388 POP AF drop the looping return address
33389 LD HL,(31255) paint the node cell cyan
33392 LD (HL),5
33394 RET
Prev: 33223 Up: Map Next: 33395