X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fcore%2FMain.java;h=a18af50b2bd3aae8cd907266120019b50aa75f0b;hb=6a92c2260b3be123e751c3819634228381162340;hp=8003adae5591b312b95c1d5644960cd078e869ce;hpb=4daeeb4119b901d53b44913c86f8af3ce67db925;p=org.ibex.core.git diff --git a/src/org/ibex/core/Main.java b/src/org/ibex/core/Main.java index 8003ada..a18af50 100644 --- a/src/org/ibex/core/Main.java +++ b/src/org/ibex/core/Main.java @@ -1,11 +1,14 @@ // Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] -package org.ibex; +package org.ibex.core; import java.net.*; import java.io.*; import java.util.*; import org.ibex.js.*; import org.ibex.util.*; +import org.ibex.plat.*; +import org.ibex.graphics.*; +import org.ibex.core.builtin.*; /** Entry point for the Ibex Engine; handles splash screen, initial xwar loading, and argument processing */ public class Main { @@ -24,7 +27,6 @@ public class Main { public static String initialTemplate = null; public static final Stream builtin = new Stream.Zip(new Stream.Builtin()); - public static Picture scarImage = null; public static void printUsage() { System.err.println("Usage: ibex [-lawp] [ url | file | directory ]"); @@ -34,7 +36,7 @@ public class Main { System.err.println(" -l user@host email log to user@host"); System.err.println(" -l host:port emit log to TCP socket"); System.err.println(" -l write log to a file on disk"); - System.err.println(" -a check assertions"); + //System.err.println(" -a check assertions"); System.err.println(" -w reserved for libibex"); System.err.println(" -p dump profiling information [not yet supported]"); Runtime.getRuntime().exit(-1); @@ -44,7 +46,8 @@ public class Main { int startargs = 0; while (true) { if (startargs > args.length - 1) printUsage(); - else if (args[startargs].equals("-a")) JS.checkAssertions = true; + // FEATURE: This should be enabled at the parser level - there shouldn't even be an assert bytecode + /*else if (args[startargs].equals("-a")) JS.checkAssertions = true;*/ else if (args[startargs].equals("-l")) { startargs++; StringTokenizer opts = new StringTokenizer(args[startargs], ","); @@ -67,7 +70,7 @@ public class Main { startargs++; } - Platform.forceLoad(); + org.ibex.plat.Platform.forceLoad(); if (Log.on) for(int i=0; i startargs + 1 ? args[startargs + 1] : "main"; @@ -80,8 +83,10 @@ public class Main { originHost = originHost.substring(0, originHost.indexOf('/') == -1 ? originHost.length() : originHost.indexOf('/')); if (originHost.indexOf('@') != -1) originHost = originHost.substring(originHost.indexOf('@') + 1); originAddr = InetAddress.getByName(originHost); - rr = builtin; - startupTemplate = "org.ibex.builtin.splash"; + //rr = builtin; + //startupTemplate = "org.ibex.builtin.splash"; + rr = new Stream.HTTP(origin); + startupTemplate = initialTemplate; } else { rr = new Stream.File(origin); if (!new File(origin).isDirectory()) rr = new Stream.Zip(rr); @@ -91,9 +96,9 @@ public class Main { if (Log.on) Log.info(Main.class, "loading xwar"); final Ibex ibex = new Ibex(rr); - scarImage = - Picture.load((Stream)Main.builtin.get("org/ibex/builtin/scar.png"), - new Scheduler.Task() { public void perform() throws JSExn, UnknownHostException { + org.ibex.graphics.Surface.scarImage = + Picture.load(new Stream.FromInputStream(Encode.JavaSourceCode.decode(Scar.data)), + new Task() { public void perform() throws JSExn, UnknownHostException { if (Log.on) Log.info(Main.class, "invoking initial template"); ibex.resolveString(startupTemplate, false).call(new Box(), null, null, null, 1); } });