Allow specifying the scene file to load on the command-line.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@329 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -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;
|
package com.threerings.miso.viewer;
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ public class ViewerApp
|
|||||||
/**
|
/**
|
||||||
* Construct and initialize the ViewerApp object.
|
* Construct and initialize the ViewerApp object.
|
||||||
*/
|
*/
|
||||||
public ViewerApp ()
|
public ViewerApp (String[] args)
|
||||||
{
|
{
|
||||||
// create and size the main application frame
|
// create and size the main application frame
|
||||||
_frame = new ViewerFrame();
|
_frame = new ViewerFrame();
|
||||||
@@ -33,8 +33,11 @@ public class ViewerApp
|
|||||||
|
|
||||||
// create the handles on our various services
|
// create the handles on our various services
|
||||||
_config = createConfig();
|
_config = createConfig();
|
||||||
|
_model = createModel(_config, args);
|
||||||
_tilemgr = MisoUtil.createTileManager(_config, _frame);
|
_tilemgr = MisoUtil.createTileManager(_config, _frame);
|
||||||
_screpo = MisoUtil.createSceneRepository(_config, _tilemgr);
|
_screpo = MisoUtil.createSceneRepository(_config, _tilemgr);
|
||||||
|
|
||||||
|
// create the context object
|
||||||
_ctx = new ViewerContextImpl();
|
_ctx = new ViewerContextImpl();
|
||||||
|
|
||||||
// initialize the frame with the now-prepared context
|
// initialize the frame with the now-prepared context
|
||||||
@@ -63,6 +66,15 @@ public class ViewerApp
|
|||||||
return config;
|
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
|
* The implementation of the ViewerContext interface that provides
|
||||||
* handles to the config and manager objects that offer commonly used
|
* handles to the config and manager objects that offer commonly used
|
||||||
@@ -84,6 +96,11 @@ public class ViewerApp
|
|||||||
{
|
{
|
||||||
return _screpo;
|
return _screpo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ViewerModel getViewerModel ()
|
||||||
|
{
|
||||||
|
return _model;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +116,7 @@ public class ViewerApp
|
|||||||
*/
|
*/
|
||||||
public static void main (String[] args)
|
public static void main (String[] args)
|
||||||
{
|
{
|
||||||
ViewerApp app = new ViewerApp();
|
ViewerApp app = new ViewerApp(args);
|
||||||
app.run();
|
app.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,6 +133,9 @@ public class ViewerApp
|
|||||||
/** The tile manager object. */
|
/** The tile manager object. */
|
||||||
protected TileManager _tilemgr;
|
protected TileManager _tilemgr;
|
||||||
|
|
||||||
|
/** The viewer data model. */
|
||||||
|
protected ViewerModel _model;
|
||||||
|
|
||||||
/** The context object. */
|
/** The context object. */
|
||||||
protected ViewerContext _ctx;
|
protected ViewerContext _ctx;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
package com.threerings.miso.viewer;
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ class ViewerFrame extends JFrame implements WindowListener
|
|||||||
|
|
||||||
// add the test character sprite to the sprite manager
|
// add the test character sprite to the sprite manager
|
||||||
MultiFrameImage[] anims =
|
MultiFrameImage[] anims =
|
||||||
TileUtil.getSpriteFrames(tilemgr, TSID_CHAR);
|
TileUtil.getAmbulatorySpriteFrames(tilemgr, TSID_CHAR);
|
||||||
AmbulatorySprite sprite = new AmbulatorySprite(300, 300, anims);
|
AmbulatorySprite sprite = new AmbulatorySprite(300, 300, anims);
|
||||||
sprite.setVelocity(6, 6);
|
sprite.setVelocity(6, 6);
|
||||||
spritemgr.addSprite(sprite);
|
spritemgr.addSprite(sprite);
|
||||||
|
|||||||
@@ -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;
|
package com.threerings.miso.viewer;
|
||||||
|
|
||||||
|
import com.samskivert.util.Config;
|
||||||
|
|
||||||
public class ViewerModel
|
public class ViewerModel
|
||||||
{
|
{
|
||||||
/** The config key prefix for miso viewer properties. */
|
/** The config key prefix for miso viewer properties. */
|
||||||
public static final String CONFIG_KEY = "miso-viewer";
|
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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
package com.threerings.miso.viewer;
|
||||||
|
|
||||||
@@ -49,17 +49,13 @@ public class ViewerSceneViewPanel extends SceneViewPanel
|
|||||||
*/
|
*/
|
||||||
protected void prepareStartingScene ()
|
protected void prepareStartingScene ()
|
||||||
{
|
{
|
||||||
XMLFileSceneRepository screpo = _ctx.getSceneRepository();
|
ViewerModel model = _ctx.getViewerModel();
|
||||||
|
|
||||||
// get the starting scene filename
|
|
||||||
Config config = _ctx.getConfig();
|
|
||||||
String fname = config.getValue(SCENE_KEY, DEF_SCENE);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// load and set up the scene
|
XMLFileSceneRepository screpo = _ctx.getSceneRepository();
|
||||||
_view.setScene(screpo.loadScene(fname));
|
_view.setScene(screpo.loadScene(model.scenefile));
|
||||||
|
|
||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
Log.warning("Exception loading scene [fname=" + fname +
|
Log.warning("Exception loading scene [fname=" + model.scenefile +
|
||||||
", ioe=" + ioe + "].");
|
", ioe=" + ioe + "].");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,13 +96,6 @@ public class ViewerSceneViewPanel extends SceneViewPanel
|
|||||||
public void mouseMoved (MouseEvent e) { }
|
public void mouseMoved (MouseEvent e) { }
|
||||||
public void mouseDragged (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. */
|
/** The animation manager. */
|
||||||
AnimationManager _animmgr;
|
AnimationManager _animmgr;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
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.scene.xml.XMLFileSceneRepository;
|
||||||
import com.threerings.miso.util.MisoContext;
|
import com.threerings.miso.util.MisoContext;
|
||||||
|
import com.threerings.miso.viewer.ViewerModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A mix-in interface that combines the MisoContext and Context
|
* 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.
|
* Returns the scene repository that we can use to get scenes.
|
||||||
*/
|
*/
|
||||||
public XMLFileSceneRepository getSceneRepository ();
|
public XMLFileSceneRepository getSceneRepository ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the viewer data model.
|
||||||
|
*/
|
||||||
|
public ViewerModel getViewerModel ();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user