*** oneko-1.1/oneko.c	Thu Jul  2 19:46:37 1992
--- newoneko-1.1/oneko.c	Thu Jul  9 15:29:19 1992
***************
*** 213,258 ****
--- 213,294 ----
      Pixmap	*TickMaskPtr;
  } Animation;
  
  Animation	AnimationPattern[][2] =
  {
+   {
      { &Mati2GC, &Mati2Msk },
      { &Mati2GC, &Mati2Msk },		/* NekoState == NEKO_STOP */
+   },
+   {
      { &Jare2GC, &Jare2Msk },
      { &Mati2GC, &Mati2Msk },		/* NekoState == NEKO_JARE */
+   },
+   {
      { &Kaki1GC, &Kaki1Msk },
      { &Kaki2GC, &Kaki2Msk },		/* NekoState == NEKO_KAKI */
+   },
+   {
      { &Mati3GC, &Mati3Msk },
      { &Mati3GC, &Mati3Msk },		/* NekoState == NEKO_AKUBI */
+   },
+   {
      { &Sleep1GC, &Sleep1Msk },
      { &Sleep2GC, &Sleep2Msk },		/* NekoState == NEKO_SLEEP */
+   },
+   {
      { &AwakeGC, &AwakeMsk },
      { &AwakeGC, &AwakeMsk },		/* NekoState == NEKO_AWAKE */
+   },
+   {
      { &Up1GC, &Up1Msk },
      { &Up2GC, &Up2Msk },		/* NekoState == NEKO_U_MOVE */
+   },
+   {
      { &Down1GC, &Down1Msk },
      { &Down2GC, &Down2Msk },		/* NekoState == NEKO_D_MOVE */
+   },
+   {
      { &Left1GC, &Left1Msk },
      { &Left2GC, &Left2Msk },		/* NekoState == NEKO_L_MOVE */
+   },
+   {
      { &Right1GC, &Right1Msk },
      { &Right2GC, &Right2Msk },		/* NekoState == NEKO_R_MOVE */
+   },
+   {
      { &UpLeft1GC, &UpLeft1Msk },
      { &UpLeft2GC, &UpLeft2Msk },	/* NekoState == NEKO_UL_MOVE */
+   },
+   {
      { &UpRight1GC, &UpRight1Msk },
      { &UpRight2GC, &UpRight2Msk },	/* NekoState == NEKO_UR_MOVE */
+   },
+   {
      { &DownLeft1GC, &DownLeft1Msk },
      { &DownLeft2GC, &DownLeft2Msk },	/* NekoState == NEKO_DL_MOVE */
+   },
+   {
      { &DownRight1GC, &DownRight1Msk },
      { &DownRight2GC, &DownRight2Msk },	/* NekoState == NEKO_DR_MOVE */
+   },
+   {
      { &UpTogi1GC, &UpTogi1Msk },
      { &UpTogi2GC, &UpTogi2Msk },	/* NekoState == NEKO_U_TOGI */
+   },
+   {
      { &DownTogi1GC, &DownTogi1Msk },
      { &DownTogi2GC, &DownTogi2Msk },	/* NekoState == NEKO_D_TOGI */
+   },
+   {
      { &LeftTogi1GC, &LeftTogi1Msk },
      { &LeftTogi2GC, &LeftTogi2Msk },	/* NekoState == NEKO_L_TOGI */
+   },
+   {
      { &RightTogi1GC, &RightTogi1Msk },
      { &RightTogi2GC, &RightTogi2Msk },	/* NekoState == NEKO_R_TOGI */
+   }
  };
  
  
  /*
   *	ビットマップデータ・GC 初期化
***************
*** 1285,1294 ****
--- 1321,1331 ----
  main(argc, argv)
      int		argc;
      char	*argv[];
  {
    char	theDisplayName[MAXDISPLAYNAME];
+   struct sigaction s_act = { NullFunction, NULL, 0, NullFunction };
  
    ProgramName = argv[0];
  
    argc--;
    argv++;
***************
*** 1295,1305 ****
  
    GetArguments(argc, argv, theDisplayName);
  
    InitScreen(theDisplayName);
  
!   signal(SIGALRM, NullFunction);
    signal(SIGINT, RestoreCursor);
    signal(SIGTERM, RestoreCursor);
    signal(SIGQUIT, RestoreCursor);
  
    SinPiPer8Times3 = sin(PI_PER8 * (double)3);
--- 1332,1342 ----
  
    GetArguments(argc, argv, theDisplayName);
  
    InitScreen(theDisplayName);
  
!   sigaction(SIGALRM, &s_act, &s_act);
    signal(SIGINT, RestoreCursor);
    signal(SIGTERM, RestoreCursor);
    signal(SIGQUIT, RestoreCursor);
  
    SinPiPer8Times3 = sin(PI_PER8 * (double)3);
