X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fcore%2FMain.java;h=bf4e8f3398c88c67081b7709cd1f9d52d5b13245;hp=0a4ff9107c684b50b764fec27c3e5104529ba669;hb=297fdbde87e6db4732448a0950d1141c7265c169;hpb=a19b897271a8ab6b25aba63e4b30223c2477c28d diff --git a/src/org/ibex/core/Main.java b/src/org/ibex/core/Main.java index 0a4ff91..bf4e8f3 100644 --- a/src/org/ibex/core/Main.java +++ b/src/org/ibex/core/Main.java @@ -1,4 +1,7 @@ -// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] +// Copyright 2000-2005 the Contributors, as shown in the revision logs. +// Licensed under the GNU General Public License version 2 ("the License"). +// You may not use this file except in compliance with the License. + package org.ibex.core; import java.net.*; @@ -8,6 +11,7 @@ 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 { @@ -82,8 +86,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); @@ -94,10 +100,16 @@ public class Main { final Ibex ibex = new Ibex(rr); org.ibex.graphics.Surface.scarImage = - Picture.load(Main.builtin.get(JS.S("org/ibex/core/builtin/scar.png")), - 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); + Picture.load(new Stream.FromInputStream(Encode.JavaSourceCode.decode(Scar.data)), + new Callable() { + private final JS[] callargs = new JS[1]; + public Object run(Object o) throws JSExn,UnknownHostException { + if (Log.on) Log.info(Main.class, "invoking initial template"); + try { + callargs[0] = new Box(); + ibex.resolveString(startupTemplate, false).call(callargs); + } finally { callargs[0] = null; } + return null; } }); Scheduler.init();