/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* |_o_o|\\ Copyright (c) 1990 The Software Distillery.  All Rights Reserved.*/
/* |. o.| || This program may not be distributed without the permission of   */
/* | .  | || the authors.                                                    */
/* | o  | ||                                                                 */
/* |  . |// Written by Doug Walker                                           */
/* ======          BBS:(919)-471-6436      VOICE:(919)-467-4764              */ 
/*                 BIX: djwalker           USENET: ...!mcnc!rti!sas!walker   */
/*                 405 B3 Gooseneck Dr, Cary, NC 27513, USA                  */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* This code shamelessly stolen from Matt Dillon's DMOUSE */

#include "netkeys.h"

void mshow(struct GfxBase *GfxBase, UWORD *NoSprData, int on)
{
   static UWORD *SprSavePtr = NULL;
   struct copinit *ci = GfxBase->copinit;

   if(on)
   {
      if(SprSavePtr)
      {
         ci->sprstrtup[1] = (UWORD)(((ULONG)SprSavePtr) >> 16);
         ci->sprstrtup[3] = (UWORD)(((ULONG)SprSavePtr) & 0xffff);
         SprSavePtr = NULL;
      }
   }
   else if(ci->sprstrtup[0] == 0x120 && ci->sprstrtup[2] == 0x122)
   {
      if(!SprSavePtr)
         SprSavePtr = (UWORD *)(((ULONG)ci->sprstrtup[1] << 16) | 
                                 (ULONG)ci->sprstrtup[3]);
      ci->sprstrtup[1] = (UWORD)(((ULONG)NoSprData) >> 16);
      ci->sprstrtup[3] = (UWORD)(((ULONG)NoSprData) & 0xffff);
   }
}
