Hi,
Robert hat mich via PM wegen eines Problems mit 'Reset State' in MessChess gefragt, und zwar wurden beim Mephisto Berlin die in diesem State-File gespeicherten Einstellungen durch das Plugin wieder zurückgesetzt.
Da meine Antwort an ihn evt. auch für andere hier interessant sein könnten, gebe ich diese Erklärungen zum Zusammenwirken von 'Reset State' und Plugin hier nochmals wieder:
Zitieren:
Die Plugins und dieses 'Reset State' sind ja konkurrierende Systeme: die Plugins gab's ja schon lange vorher, und die waren eben dazu da, neben der Kommunikation mit einer GUI auch irgendwelche Einstellungen (vor allem den Level) vorzunehmen und die Engine beim Start in einen definierten Zustand zu bringen (entweder mit Funktionen wie 'NewGame', 'Start' usw., oder auch 'Löschen' wie beim Berlin).
Um das auch beim Selberspielen in CB-Emu oder MessExtra zu ermöglichen, habe ich eben dieses 'Reset State' eingebaut - und zuletzt auch für MessChess aktiviert (obwohl dafür eigentlich gar nicht vorgesehen), weil es da prinzipiell ja auch funktioniert.
So ein 'Reset State' wird unmittelbar nach dem Laden einer Engine ausgeführt und stellt exakt den Zustand beim letzten Speichern ('Save Reset State') wieder her. In MessChess kommt aber danach noch das Plugin zum Zug, und da können natürlich bestimmte Befehle diese (durch 'Reset State' geladenen) Einstellungen wieder ändern.
Will man das nicht haben, dann muß man solche Befehle im Plugin entweder ändern, löschen oder einfach auskommentieren (mit '--' am Anfang der Zeile) - das sind immer Befehle der Form 'send_input(...)' in der Funktion 'interface.setup_machine()'.
Prinzipiell sind solche Einstellungs-Befehle im Plugin eigentlich komplett überflüssig, wenn man eben mit 'Reset State' arbeitet (man könnte sogar die Leveleinstellung mit 'interface.setlevel()' weglassen), wenn man all diese gewünschten Einstellungen einmal vor einem 'Save Reset State' gemacht hat, denn diese werden eben dann bei jedem Engine-Neustart (Soft- oder Hard-Reset) wieder hergestellt.
Was dieser 'Löschen'-Befehl im Berlin nun tatsächlich alles löscht, das muß man sich im Handbuch anschauen (oder ausprobieren), aber wenn er die Einstellungen des 'Reset State' auch zurücksetzt, dann muß man eben diesen Befehl im Plugin entfernen (am besten diese 5 Zeilen mit 'send_input(...)' auskommentieren).
(ein nochmaliges Laden eines 'Reset State' im Plugin funktioniert übrigens nicht, weil MAME so einen Ladebefehl innerhalb eines Plugins nicht akzeptiert)
Grüße,
Franz