// Wrapper for Fanorona application
// temporarily extended with menu hackery

import java.awt.*;

public class Main {
	static Fanorona fan = null;

	public static void main(String args[]) {
		Thread.currentThread().setPriority(Thread.MAX_PRIORITY);	// make UI run fast
		Acme.MainFrame.quitItem = new MenuItem("Quit", new MenuShortcut('Q'));
		Acme.MainFrame.newItem = new MenuItem("New Game", new MenuShortcut('N'));
		Acme.MainFrame.undoItem = new MenuItem("Undo", new MenuShortcut('Z'));
		fan = new Fanorona();
		new Acme.MainFrame(fan,args,500,350);							// set up applet
		new EndgameBuilder().start();										// and slowly set up ekpbdb

		// enable "About Fanorona" menu item in MRJ apple menu
		com.apple.mrj.MRJApplicationUtils.registerAboutHandler(new RunAbout());
	}
}

class RunAbout implements com.apple.mrj.MRJAboutHandler {	
	public void handleAbout() {
		if (Main.fan != null && Main.fan.tab != null) Main.fan.tab.show("About");
	}
}

// Separate thread to build endgame database on the back burner
class EndgameBuilder extends Thread {
   public void run() {
   	setPriority(MIN_PRIORITY);
   	yield();
		Board.endgameDatabase = new EndgameDatabase();
   }
}
