if (SDL_BUTTON(3) & ms)
if ((SDL_BUTTON(3) & ms) && gwin->get_usecode()->get_global_flag( Usecode_machine::did_first_scene))
static void Handle_events	(	unsigned char *stop	)	{	unsigned long last_repaint = 0;		// For insuring animation repaints.	/*	 *	Main event loop.	 */	while (!*stop)		{		int rotate = 0;		// 1 to rotate colors.		Delay();		// Wait a fraction of a second.#ifdef MOUSE		mouse->hide();		// Turn off mouse.#endif		SDL_Event event;		while (!*stop && SDL_PollEvent(&event))			Handle_event(event);					// Get current time.		unsigned long ticks = SDL_GetTicks();					// Animate unless dormant.		if(gwin->get_mode()!=Game_window::splash)			{			if (gwin->have_focus() && !dragging)				gwin->get_tqueue()->activate(ticks);					// Show animation every 1/20 sec.			if (ticks > last_repaint + 50)				{				gwin->paint_dirty();				last_repaint = ticks;				rotate = 1;				int x, y;// Check for 'stuck' Avatar.				if (!gwin->get_main_actor()->is_moving())					{					int ms = SDL_GetMouseState(&x, &y);					if (SDL_BUTTON(3) & ms)						gwin->start_actor(x, y, 								avatar_speed);					}				}			}#ifdef MOUSE		mouse->show();		// Re-display mouse.#endif		if (rotate)			{		// (Blits in simulated 8-bit mode.)			gwin->get_win()->rotate_colors(0xf0, 4, 0);			gwin->get_win()->rotate_colors(0xe8, 8, 0);			gwin->get_win()->rotate_colors(0xe0, 8, 1);			}		gwin->show();		// Blit to screen if necessary.		}	}