Einzelnen Beitrag anzeigen
  #7  
Alt 29.08.2023, 13:19
hap hap ist offline
Resurrection
 
Registriert seit: 27.07.2019
Beiträge: 598
Abgegebene Danke: 221
Erhielt 2.292 Danke für 414 Beiträge
Aktivitäten Langlebigkeit
1/20 6/20
Heute Beiträge
0/3 ssssss598
Re: Mess Emulator für diverse Schachcomputer ist fertig!

Is it mainly for showing the claw position? Try this (in this case Fidelity Phantom):

Code:
class:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);

func:
u32 phantom_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
	bitmap.fill(0, cliprect);

	u32 color = 0xff00ff;
	if (!BIT(m_motors_ctrl, 4))
		color = color >> 1 & 0x7f7f7f;

	u8 x = m_hmotor_pos;
	u8 y = 255 - m_vmotor_pos;
	if (cliprect.contains(x, y))
		bitmap.pix(y, x) = color;

	return 0;
}

mcfg:
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(256, 256);
screen.set_visarea_full();
screen.set_screen_update(FUNC(phantom_state::screen_update));

und lay file: screen element with blend="add"
Or if blend is not supported yet in an older version, then fill the screen with white and do it with an <overlay>
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu hap für den nützlichen Beitrag:
kamoj (29.08.2023), Tibono (29.08.2023)