Monkey Island 2: o_setOwnerOf proc far ; DATA XREF: dseg:0B8Ao ; dseg:0C8Ao dseg:0D8Ao ; dseg:0E8Ao var_2= word ptr -2 enter 2, 0 push di push si push 80h ; 'Ç' nop push cs call near ptr getVarOrDirectWord mov si, ax push 40h ; '@' nop push cs call near ptr getVarOrDirectByte mov di, ax or di, di jnz cseg_74D0 push si push cs call near ptr clearOwnerOf add sp, 2 mov al, _currentScript sub ah, ah imul bx, ax, 12h mov [bp+var_2], bx cmp vm_slot.type[bx], ah jnz cseg_74D0 mov bx, vm_slot.number[bx] shl bx, 1 cmp inventory[bx], si jnz cseg_74D0 push di push si call putOwner add sp, 4 push di nop push cs call near ptr runInventoryScript add sp, 2 push cs call near ptr stopObjectCode pop si pop di leave retf ; --------------------------------------------------------------------------- db 90h ; É ; --------------------------------------------------------------------------- cseg_74D0: ; CODE XREF: o_setOwnerOf+1Bj ; o_setOwnerOf+34j ; o_setOwnerOf+40j push di push si call putOwner add sp, 4 push 0 nop push cs call near ptr runInventoryScript add sp, 2 nop push cs call near ptr nullsub_1 pop si pop di leave retf o_setOwnerOf endp Day of the Tentacle: o_setOwner proc far ; CODE XREF: executeScript+32J ; DATA XREF: dseg:0D3Ao var_2= word ptr -2 enter 2, 0 push di push si call pop mov di, ax call pop mov si, ax or di, di jnz loc_712_6BE push si push cs call near ptr clearOwnerOf add sp, 2 - mov al, _currentScript sub ah, ah imul bx, ax, 14h mov [bp+var_2], bx cmp vm_slot.type[bx], ah jnz loc_712_6BE - mov bx, vm_slot.number[bx] shl bx, 1 add bx, _inventory cmp [bx], si jnz loc_712_6BE push di push si call putOwner add sp, 4 push di call runInventoryScript add sp, 2 push cs call near ptr stopObjectCode pop si pop di leave retf ; --------------------------------------------------------------------------- loc_712_6BE: ; CODE XREF: o_setOwner+16j ; o_setOwner+2Fj o_setOwner+3Dj push di push si call putOwner add sp, 4 push si call runInventoryScript add sp, 2 pop si pop di leave retf o_setOwner endp