 	@con2d.fillStyle = colors.text
 	for i in [0...@playfield.width]
 		for j in [0...@playfield.height]
-			charRaw = @playfield.getAt i, j
-			charCode = charRaw.charCodeAt 0
+			charCode = @playfield.getAt i, j
 
 			if charCode > 0
 				charPretty = if 32 <= charCode <= 126
 					@con2d.font = fonts.normal
-					charRaw
+					String.fromCharCode charCode
 				else
 					@con2d.font = fonts.small
 					"##{charCode}"



getArrowImages = (size) ->
	'^': getArrowImage size, 0
	'<': getArrowImage size, -Math.PI / 2
	'v': getArrowImage size, Math.PI
	'>': getArrowImage size, Math.PI / 2


directions = [
	{ char: '<', offset: { x: 0, y: 1 } }
	{ char: '^', offset: { x: 1, y: 0 } }
	{ char: 'v', offset: { x: 1, y: 2 } }
	{ char: '>', offset: { x: 2, y: 1 } }
]


directionsIndexed = directions.reduce (ret, { char, offset }) ->
		ret.set char, offset
		ret
	, new Map



	for i in [0...@playfield.width]
		for j in [0...@playfield.height]
			charCode = @playfield.getAt i, j

			if charCode in [S.UP, S.LEFT, S.DOWN, S.RIGHT] and (@pathSet.getStartingFrom i, j, '')?
				offset = directionsIndexed.get charCode
				@hitRegions.push getCellRegion i, j, offset.x, offset.y, charCode
			else
				for dir in directions
					if (@pathSet.getStartingFrom i, j, dir.charCode)?
						offset = dir.offset
						@hitRegions.push getCellRegion i, j, offset.x, offset.y, dir.charCode

	return

