export59962_0	= GameRoomCursorController

GameRoomCursorController::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegionController, $4
		bnot
		pushi	$5a		; 90, 'Z', size
		push0
		self	$4
		bnot
		bnt	code_009f
		pushi	$94		; 148, init
		push1
		pushSelf
		lofsa	NorthExitCurReg
		send	$6
		bnot
		pushi	$94		; 148, init
		push1
		pushSelf
		lofsa	SouthExitCurReg
		send	$6
		bnot
		pushi	$94		; 148, init
		push1
		pushSelf
		lofsa	EastExitCurReg
		send	$6
		bnot
		pushi	$94		; 148, init
		push1
		pushSelf
		lofsa	WestExitCurReg
		send	$6
		bnot
		ldi	$0
		aTop	curRect
		jmp	code_00b9

code_009f:	pushi	$9f		; 159, add
		push2
		lofsa	RoomCurReg
		push
		lofsa	InterfaceCurReg
		push
		self	$8
		bnot
		pushi	$9d		; 157, eachElementDo
		push2
		pushi	$94		; 148, init
		pushSelf
		self	$8
		bnot
code_00b9:	ret

GameRoomCursorController::doit:
		lag	global[$1]
		bnt	code_00e4
		push1
		push
		calle	export60000_0, $2
		bnot
		not
		bt	code_00d7
		pushi	$97		; 151, isKindOf
		push1
		class	WorldActor
		push
		lag	global[$1]
		send	$6
		bnot
		not
code_00d7:	bnt	code_00e4
		push2
		lofsa	string_014e	; "ego(0x%x) is not a valid object"
		push
		lsg	global[$1]
		callk	kernel_132, $4
		bnot
code_00e4:	pushi	$32d		; 813, pObj
		push0
		class	WDragger
		send	$4
		bnot
		bt	code_0110
		lag	global[$1]
		not
		bt	code_0110
		pushi	$381		; 897, pMode
		push0
		lag	global[$1]
		send	$4
		bnot
		push
		ldi	$2
		and
		bt	code_0110
		pushi	$a1		; 161, firstEqual
		push2
		pushi	$1d3		; 467, modal
		push2
		class	DialogHandler
		send	$8
		bnot
code_0110:	bnt	code_0117
		ldi	$0
		aTop	curRect
		ret

code_0117:	pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegionController, $4
		bnot
		ret

RoomCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		push0
		pushi	$280		; 640, disposeWhenDone
		pushi	$131		; 305, asStr
		pushi	$9f		; 159, add
		pushi	$4		; scaleX
		lofsa	WestExitCurReg
		push
		lofsa	EastExitCurReg
		push
		lofsa	SouthExitCurReg
		push
		lofsa	NorthExitCurReg
		push
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		push1
		push0
		pushi	$9d		; 157, eachElementDo
		push2
		pushi	$94		; 148, init
		pushSelf
		self	$2a
		bnot
		ret

RoomCurReg::doit:
		pushi	$f		; 15, loop
		push1
		pushi	$25e		; 606, cursorLoop
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		pToa	aCursor
		send	$6
		bnot
		pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegion, $4
		bnot
		ret

WestExitCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		pushi	$9		; inLeft
		push0
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		pushi	$1e		; 30, brRight
		pushi	$14		; 20, nsRight
		pushi	$118		; 280, bitANDLong
		self	$16
		bnot
		ret

WestExitCurReg::doit:
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$2
		eq?
		bt	code_01db
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$6e		; 110, 'n', resX
		eq?
code_01db:	bnt	code_0258
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		bnt	code_0258
		pushi	$f		; 15, loop
		push1
		pushi	$526		; 1318, pExits
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$8		; fixPriority
		and
		bnt	code_0206
		ldi	$9		; inLeft
		jmp	code_0208

code_0206:	ldi	$11		; 17, bitmap
code_0208:	push
		pToa	aCursor
		send	$6
		bnot
		pushi	$54f		; 1359, pFlags
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$80		; 128, lastKey
		and
		bnt	code_024e
		pushi	$a0		; 160, firstTrue
		push2
		pushi	$35c		; 860, getBase
		class	BNPC
		push
		pushi	$421		; 1057, pWObjectList
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		send	$8
		bnot
		bnt	code_024e
		pushi	$f		; 15, loop
		push1
		pushi	$11		; 17, bitmap
		pToa	aCursor
		send	$6
		bnot
code_024e:	pushi	$57		; 87, 'W', draw
		push0
		pToa	aCursor
		send	$4
		bnot
		jmp	code_0271

code_0258:	pushi	$f		; 15, loop
		push1
		pushi	$25e		; 606, cursorLoop
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		pToa	aCursor
		send	$6
		bnot
code_0271:	pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegion, $4
		bnot
		ret

EastExitCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		pushi	$a		; 10, inTop
		push0
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		pushi	$26c		; 620, prevSignal
		pushi	$1e		; 30, brRight
		pushi	$280		; 640, disposeWhenDone
		pushi	$118		; 280, bitANDLong
		self	$16
		bnot
		ret

EastExitCurReg::doit:
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$2
		eq?
		bt	code_02d0
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$6e		; 110, 'n', resX
		eq?
code_02d0:	bnt	code_034d
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		bnt	code_034d
		pushi	$f		; 15, loop
		push1
		pushi	$526		; 1318, pExits
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$4		; scaleX
		and
		bnt	code_02fc
		ldi	$a		; 10, inTop
		jmp	code_02fe

code_02fc:	ldi	$11		; 17, bitmap
code_02fe:	push
		pToa	aCursor
		send	$6
		bnot
		pushi	$54f		; 1359, pFlags
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$40		; 64, '@', yStep
		and
		bnt	code_0343
		pushi	$a0		; 160, firstTrue
		push2
		pushi	$35c		; 860, getBase
		class	BNPC
		push
		pushi	$421		; 1057, pWObjectList
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		send	$8
		bnot
		bnt	code_0343
		pushi	$f		; 15, loop
		push1
		pushi	$11		; 17, bitmap
		pToa	aCursor
		send	$6
		bnot
code_0343:	pushi	$57		; 87, 'W', draw
		push0
		pToa	aCursor
		send	$4
		bnot
		jmp	code_0366

code_034d:	pushi	$f		; 15, loop
		push1
		pushi	$25e		; 606, cursorLoop
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		pToa	aCursor
		send	$6
		bnot
code_0366:	pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegion, $4
		bnot
		ret

NorthExitCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		pushi	$b		; 11, inRight
		push0
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		push0
		pushi	$280		; 640, disposeWhenDone
		pushi	$1e		; 30, brRight
		self	$16
		bnot
		ret

NorthExitCurReg::doit:
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$2
		eq?
		bt	code_03c1
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$6e		; 110, 'n', resX
		eq?
code_03c1:	bnt	code_043e
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		bnt	code_043e
		pushi	$f		; 15, loop
		push1
		pushi	$526		; 1318, pExits
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$1
		and
		bnt	code_03ed
		ldi	$b		; 11, inRight
		jmp	code_03ef

code_03ed:	ldi	$11		; 17, bitmap
code_03ef:	push
		pToa	aCursor
		send	$6
		bnot
		pushi	$54f		; 1359, pFlags
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$10		; 16, cel
		and
		bnt	code_0434
		pushi	$a0		; 160, firstTrue
		push2
		pushi	$35c		; 860, getBase
		class	BNPC
		push
		pushi	$421		; 1057, pWObjectList
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		send	$8
		bnot
		bnt	code_0434
		pushi	$f		; 15, loop
		push1
		pushi	$11		; 17, bitmap
		pToa	aCursor
		send	$6
		bnot
code_0434:	pushi	$57		; 87, 'W', draw
		push0
		pToa	aCursor
		send	$4
		bnot
		jmp	code_0457

code_043e:	pushi	$f		; 15, loop
		push1
		pushi	$25e		; 606, cursorLoop
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		pToa	aCursor
		send	$6
		bnot
code_0457:	pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegion, $4
		bnot
		ret

SouthExitCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		pushi	$c		; 12, inBottom
		push0
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		pushi	$118		; 280, bitANDLong
		pushi	$280		; 640, disposeWhenDone
		pushi	$131		; 305, asStr
		self	$16
		bnot
		ret

SouthExitCurReg::doit:
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$2
		eq?
		bt	code_04b5
		pushi	$25b		; 603, verb
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$6e		; 110, 'n', resX
		eq?
code_04b5:	bnt	code_0532
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		bnt	code_0532
		pushi	$f		; 15, loop
		push1
		pushi	$526		; 1318, pExits
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$2
		and
		bnt	code_04e1
		ldi	$c		; 12, inBottom
		jmp	code_04e3

code_04e1:	ldi	$11		; 17, bitmap
code_04e3:	push
		pToa	aCursor
		send	$6
		bnot
		pushi	$54f		; 1359, pFlags
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		push
		ldi	$20		; 32, ' ', name
		and
		bnt	code_0528
		pushi	$a0		; 160, firstTrue
		push2
		pushi	$35c		; 860, getBase
		class	BNPC
		push
		pushi	$421		; 1057, pWObjectList
		push0
		pushi	$c5		; 197, pRoom
		push0
		lag	global[$1]
		send	$4
		bnot
		send	$4
		bnot
		send	$8
		bnot
		bnt	code_0528
		pushi	$f		; 15, loop
		push1
		pushi	$11		; 17, bitmap
		pToa	aCursor
		send	$6
		bnot
code_0528:	pushi	$57		; 87, 'W', draw
		push0
		pToa	aCursor
		send	$4
		bnot
		jmp	code_054b

code_0532:	pushi	$f		; 15, loop
		push1
		pushi	$25e		; 606, cursorLoop
		push0
		pushi	$24f		; 591, curIcon
		push0
		lag	global[$6]
		send	$4
		bnot
		send	$4
		bnot
		push
		pToa	aCursor
		send	$6
		bnot
code_054b:	pushi	$45		; 69, 'E', doit
		push0
		super	CursorRegion, $4
		bnot
		ret

InterfaceCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$9f		; 159, add
		push1
		lofsa	InvBoxCurReg
		push
		pushi	$9d		; 157, eachElementDo
		push2
		pushi	$94		; 148, init
		pushSelf
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		pushi	$131		; 305, asStr
		pushi	$280		; 640, disposeWhenDone
		pushi	$1e0		; 480, isControl
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		push0
		push0
		self	$24
		bnot
		ret

InterfaceCurReg::doit:
		lsg	global[$b]
		pToa	aCursor
		ne?
		bnt	code_05f9
		pushi	$54b		; 1355, specialCursorInUse
		push0
		lag	global[$cd]
		send	$4
		bnot
		not
		bt	code_05c1
		pushi	$54b		; 1355, specialCursorInUse
		push0
		lag	global[$cd]
		send	$4
		bnot
		bnt	code_05f9
		pushi	$383		; 899, curPanel
		push0
		lag	global[$6]
		send	$4
		bnot
		push
		push2
		pushi	$a410		; -23536
		push0
		callk	kernel_2, $4
		bnot
		ne?
code_05c1:	bnt	code_05f9
		pushi	$45		; 69, 'E', doit
		push0
		push2
		pushi	$a410		; -23536
		push2
		callk	kernel_2, $4
		bnot
		send	$4
		bnot
		pushi	$f		; 15, loop
		push1
		push0
		pToa	aCursor
		send	$6
		bnot
		pushi	$1b3		; 435, setCursor
		push2
		pTos	aCursor
		push1
		lag	global[$2]
		send	$8
		bnot
		pushi	$57		; 87, 'W', draw
		push0
		pToa	aCursor
		send	$4
		bnot
		pushi	$54b		; 1355, specialCursorInUse
		push1
		push1
		lag	global[$cd]
		send	$6
		bnot
code_05f9:	ret

InvBoxCurReg::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	CursorRegion, $4
		bnot
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		pushi	$170		; 368, display
		pushi	$16c		; 364, basicClip
		pushi	$277		; 631, controlOff
		pushi	$1b9		; 441, deleteCast
		pushi	$1b3		; 435, setCursor
		pushi	$3		; z
		pushi	$270d		; 9997
		push2
		push0
		self	$16
		bnot
		ret

InvBoxCurReg::doit:
		lsg	global[$b]
		pToa	aCursor
		ne?
		bnt	code_0685
		pushi	$383		; 899, curPanel
		push0
		lag	global[$6]
		send	$4
		bnot
		push
		push2
		pushi	$a410		; -23536
		push0
		callk	kernel_2, $4
		bnot
		eq?
		bnt	code_0685
		pushi	$54b		; 1355, specialCursorInUse
		push0
		lag	global[$cd]
		send	$4
		bnot
		not
		bnt	code_0685
		pushi	$45		; 69, 'E', doit
		push0
		push2
		pushi	$a410		; -23536
		push2
		callk	kernel_2, $4
		bnot
		send	$4
		bnot
		pushi	$f		; 15, loop
		push1
		push2
		pToa	aCursor
		send	$6
		bnot
		pushi	$1b3		; 435, setCursor
		push2
		pTos	aCursor
		push1
		lag	global[$2]
		send	$8
		bnot
		pushi	$57		; 87, 'W', draw
		push0
		lag	global[$b]
		send	$4
		bnot
		pushi	$54b		; 1355, specialCursorInUse
		push1
		push1
		lag	global[$cd]
		send	$6
		bnot
code_0685:	ret

