diff --git a/tests/src/java/com/threerings/miso/viewer/ViewerApp.java b/tests/src/java/com/threerings/miso/viewer/ViewerApp.java index fe87244f7..a15cb60f9 100644 --- a/tests/src/java/com/threerings/miso/viewer/ViewerApp.java +++ b/tests/src/java/com/threerings/miso/viewer/ViewerApp.java @@ -1,5 +1,5 @@ // -// $Id: ViewerApp.java,v 1.7 2001/08/29 18:41:46 shaper Exp $ +// $Id: ViewerApp.java,v 1.8 2001/09/05 00:45:27 shaper Exp $ package com.threerings.miso.viewer; @@ -24,7 +24,7 @@ public class ViewerApp /** * Construct and initialize the ViewerApp object. */ - public ViewerApp () + public ViewerApp (String[] args) { // create and size the main application frame _frame = new ViewerFrame(); @@ -33,8 +33,11 @@ public class ViewerApp // create the handles on our various services _config = createConfig(); + _model = createModel(_config, args); _tilemgr = MisoUtil.createTileManager(_config, _frame); _screpo = MisoUtil.createSceneRepository(_config, _tilemgr); + + // create the context object _ctx = new ViewerContextImpl(); // initialize the frame with the now-prepared context @@ -63,6 +66,15 @@ public class ViewerApp return config; } + protected ViewerModel createModel (Config config, String args[]) + { + ViewerModel model = new ViewerModel(config); + if (args.length >= 1) { + model.scenefile = args[0]; + } + return model; + } + /** * The implementation of the ViewerContext interface that provides * handles to the config and manager objects that offer commonly used @@ -84,6 +96,11 @@ public class ViewerApp { return _screpo; } + + public ViewerModel getViewerModel () + { + return _model; + } } /** @@ -99,7 +116,7 @@ public class ViewerApp */ public static void main (String[] args) { - ViewerApp app = new ViewerApp(); + ViewerApp app = new ViewerApp(args); app.run(); } @@ -116,6 +133,9 @@ public class ViewerApp /** The tile manager object. */ protected TileManager _tilemgr; + /** The viewer data model. */ + protected ViewerModel _model; + /** The context object. */ protected ViewerContext _ctx; diff --git a/tests/src/java/com/threerings/miso/viewer/ViewerFrame.java b/tests/src/java/com/threerings/miso/viewer/ViewerFrame.java index 3840b3edc..1f20d00bb 100644 --- a/tests/src/java/com/threerings/miso/viewer/ViewerFrame.java +++ b/tests/src/java/com/threerings/miso/viewer/ViewerFrame.java @@ -1,5 +1,5 @@ // -// $Id: ViewerFrame.java,v 1.16 2001/08/21 19:41:58 mdb Exp $ +// $Id: ViewerFrame.java,v 1.17 2001/09/05 00:45:27 shaper Exp $ package com.threerings.miso.viewer; @@ -44,7 +44,7 @@ class ViewerFrame extends JFrame implements WindowListener // add the test character sprite to the sprite manager MultiFrameImage[] anims = - TileUtil.getSpriteFrames(tilemgr, TSID_CHAR); + TileUtil.getAmbulatorySpriteFrames(tilemgr, TSID_CHAR); AmbulatorySprite sprite = new AmbulatorySprite(300, 300, anims); sprite.setVelocity(6, 6); spritemgr.addSprite(sprite); diff --git a/tests/src/java/com/threerings/miso/viewer/ViewerModel.java b/tests/src/java/com/threerings/miso/viewer/ViewerModel.java index 8a26a9c08..469c700c1 100644 --- a/tests/src/java/com/threerings/miso/viewer/ViewerModel.java +++ b/tests/src/java/com/threerings/miso/viewer/ViewerModel.java @@ -1,10 +1,27 @@ // -// $Id: ViewerModel.java,v 1.1 2001/08/29 18:41:46 shaper Exp $ +// $Id: ViewerModel.java,v 1.2 2001/09/05 00:45:27 shaper Exp $ package com.threerings.miso.viewer; +import com.samskivert.util.Config; + public class ViewerModel { /** The config key prefix for miso viewer properties. */ public static final String CONFIG_KEY = "miso-viewer"; + + /** The filename of the scene to display. */ + public String scenefile; + + public ViewerModel (Config config) + { + scenefile = config.getValue(SCENE_KEY, DEF_SCENE); + } + + /** The config key to obtain the default scene filename. */ + protected static final String SCENE_KEY = + CONFIG_KEY + ".default_scene"; + + /** The default scene to load and display. */ + protected static final String DEF_SCENE = "rsrc/scenes/default.xml"; } diff --git a/tests/src/java/com/threerings/miso/viewer/ViewerSceneViewPanel.java b/tests/src/java/com/threerings/miso/viewer/ViewerSceneViewPanel.java index c006a653a..9a70cc587 100644 --- a/tests/src/java/com/threerings/miso/viewer/ViewerSceneViewPanel.java +++ b/tests/src/java/com/threerings/miso/viewer/ViewerSceneViewPanel.java @@ -1,5 +1,5 @@ // -// $Id: ViewerSceneViewPanel.java,v 1.14 2001/08/29 18:41:46 shaper Exp $ +// $Id: ViewerSceneViewPanel.java,v 1.15 2001/09/05 00:45:27 shaper Exp $ package com.threerings.miso.viewer; @@ -49,17 +49,13 @@ public class ViewerSceneViewPanel extends SceneViewPanel */ protected void prepareStartingScene () { - XMLFileSceneRepository screpo = _ctx.getSceneRepository(); - - // get the starting scene filename - Config config = _ctx.getConfig(); - String fname = config.getValue(SCENE_KEY, DEF_SCENE); - + ViewerModel model = _ctx.getViewerModel(); try { - // load and set up the scene - _view.setScene(screpo.loadScene(fname)); + XMLFileSceneRepository screpo = _ctx.getSceneRepository(); + _view.setScene(screpo.loadScene(model.scenefile)); + } catch (IOException ioe) { - Log.warning("Exception loading scene [fname=" + fname + + Log.warning("Exception loading scene [fname=" + model.scenefile + ", ioe=" + ioe + "]."); } } @@ -100,13 +96,6 @@ public class ViewerSceneViewPanel extends SceneViewPanel public void mouseMoved (MouseEvent e) { } public void mouseDragged (MouseEvent e) { } - /** The config key to obtain the default scene filename. */ - protected static final String SCENE_KEY = - ViewerModel.CONFIG_KEY + ".default_scene"; - - /** The default scene to load and display. */ - protected static final String DEF_SCENE = "rsrc/scenes/default.xml"; - /** The animation manager. */ AnimationManager _animmgr; diff --git a/tests/src/java/com/threerings/miso/viewer/util/ViewerContext.java b/tests/src/java/com/threerings/miso/viewer/util/ViewerContext.java index 638f82711..e916c43b8 100644 --- a/tests/src/java/com/threerings/miso/viewer/util/ViewerContext.java +++ b/tests/src/java/com/threerings/miso/viewer/util/ViewerContext.java @@ -1,5 +1,5 @@ // -// $Id: ViewerContext.java,v 1.3 2001/08/15 00:10:59 mdb Exp $ +// $Id: ViewerContext.java,v 1.4 2001/09/05 00:45:27 shaper Exp $ package com.threerings.miso.viewer.util; @@ -7,6 +7,7 @@ import com.samskivert.util.Context; import com.threerings.miso.scene.xml.XMLFileSceneRepository; import com.threerings.miso.util.MisoContext; +import com.threerings.miso.viewer.ViewerModel; /** * A mix-in interface that combines the MisoContext and Context @@ -18,4 +19,9 @@ public interface ViewerContext extends MisoContext, Context * Returns the scene repository that we can use to get scenes. */ public XMLFileSceneRepository getSceneRepository (); + + /** + * Returns the viewer data model. + */ + public ViewerModel getViewerModel (); }