Ejemplo n.º 1
0
void galaxian_state::video_start()
{
	/* create a tilemap for the background */
	if (!m_sfx_tilemap)
	{
		/* normal galaxian hardware is row-based and individually scrolling columns */
		m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
		m_bg_tilemap->set_scroll_cols(32);
	}
	else
	{
		/* sfx hardware is column-based and individually scrolling rows */
		m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
		m_bg_tilemap->set_scroll_rows(32);
	}
	m_bg_tilemap->set_transparent_pen(0);

	/* initialize globals */
	m_flipscreen_x = 0;
	m_flipscreen_y = 0;
	m_background_enable = 0;
	m_background_blue = 0;
	m_background_red = 0;
	m_background_green = 0;

	/* initialize stars */
	stars_init();

	/* register for save states */
	state_save_register();
}
Ejemplo n.º 2
0
void stars_draw ( )
{
	u8 i;

	vobject_add ( ESTRELLITA1 );
	vobject_add ( ESTRELLITA2 );
	vobject_add ( ESTRELLITA3 );
	vobject_add ( ESTRELLITA4 );

	Vect2D_s16 posiciones =
	{
		vdpSpriteCache[splist_griel].x - 4-128,
		vdpSpriteCache[splist_griel].y + 2-128
	};

	s16 x = posiciones.x;
	s16 y = posiciones.y;

	vsprite_set ( sprites[0] = 71, x-12, y-12, ESTRELLITA1 );
	vsprite_set ( sprites[1] = 72, x+12, y-12, ESTRELLITA2 );
	vsprite_set ( sprites[2] = 73, x-12, y+12, ESTRELLITA3 );
	vsprite_set ( sprites[3] = 74, x+12, y+12, ESTRELLITA4 );


	u16 duracion = animation_duracion(ESTRELLITA1);

	while ( duracion-- )
	{
		if ( duracion % 4 == 0 )
		{
			_freeze_objects();
		}

		vobject_update();
		vobject_upload ( );

		VDP_updateSprites(80,1);
		VDP_waitVSync();
	}

	vobject_delete ( ESTRELLITA1 );
	vobject_delete ( ESTRELLITA2 );
	vobject_delete ( ESTRELLITA3 );
	vobject_delete ( ESTRELLITA4 );


	for ( i=0; i<STARTS_SPRITES; i++ )
	{
		u8 sprite = sprites [ i ] ;

		splist_hide_sprite ( sprite );
		vsprite_animation ( sprite, EMPTY_SPRITE );
		sd_delete ( sprite );
	}

	stars_init ();
}