Updates to reflect new media architecture.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2123 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2003-01-13 22:57:46 +00:00
parent 988cd16528
commit 7f706aa063
12 changed files with 82 additions and 63 deletions
@@ -1,5 +1,5 @@
// //
// $Id: CharSpriteViz.java,v 1.2 2002/07/19 20:13:29 shaper Exp $ // $Id: CharSpriteViz.java,v 1.3 2003/01/13 22:57:45 mdb Exp $
package com.threerings.cast; package com.threerings.cast;
@@ -16,7 +16,7 @@ import javax.swing.JPanel;
import com.samskivert.swing.util.SwingUtil; import com.samskivert.swing.util.SwingUtil;
import com.threerings.media.ImageManager; import com.threerings.media.image.ImageManager;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.util.DirectionCodes; import com.threerings.util.DirectionCodes;
import com.threerings.util.DirectionUtil; import com.threerings.util.DirectionUtil;
@@ -40,7 +40,7 @@ public class CharSpriteViz extends JPanel
// put the sprite in the appropriate action mode // put the sprite in the appropriate action mode
_sprite.setRestingAction(action); _sprite.setRestingAction(action);
_sprite.setFollowingPathAction(action); _sprite.setFollowingPathAction(action);
_sprite.setActionSequence(action); _sprite.setActionSequence(action, false);
addMouseMotionListener(this); addMouseMotionListener(this);
} }
@@ -107,7 +107,7 @@ public class CharSpriteViz extends JPanel
ImageManager imgr = new ImageManager(rmgr, frame); ImageManager imgr = new ImageManager(rmgr, frame);
ComponentRepository crepo = ComponentRepository crepo =
new BundledComponentRepository(rmgr, imgr, "components"); new BundledComponentRepository(rmgr, imgr, "components");
CharacterManager charmgr = new CharacterManager(crepo); CharacterManager charmgr = new CharacterManager(imgr, crepo);
CharacterComponent ccomp = crepo.getComponent(args[0], args[1]); CharacterComponent ccomp = crepo.getComponent(args[0], args[1]);
frame.getContentPane().add( frame.getContentPane().add(
@@ -1,5 +1,5 @@
// //
// $Id: TestApp.java,v 1.15 2002/07/19 20:13:29 shaper Exp $ // $Id: TestApp.java,v 1.16 2003/01/13 22:57:45 mdb Exp $
package com.threerings.cast.builder; package com.threerings.cast.builder;
@@ -8,7 +8,7 @@ import javax.swing.JFrame;
import com.samskivert.swing.util.SwingUtil; import com.samskivert.swing.util.SwingUtil;
import com.threerings.media.ImageManager; import com.threerings.media.image.ImageManager;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.cast.Log; import com.threerings.cast.Log;
@@ -16,8 +16,6 @@ import com.threerings.cast.CharacterManager;
import com.threerings.cast.ComponentRepository; import com.threerings.cast.ComponentRepository;
import com.threerings.cast.bundle.BundledComponentRepository; import com.threerings.cast.bundle.BundledComponentRepository;
import com.threerings.miso.scene.MisoCharacterSprite;
public class TestApp public class TestApp
{ {
public TestApp (String[] args) public TestApp (String[] args)
@@ -33,8 +31,7 @@ public class TestApp
ComponentRepository crepo = ComponentRepository crepo =
new BundledComponentRepository(rmgr, imgr, "components"); new BundledComponentRepository(rmgr, imgr, "components");
CharacterManager charmgr = new CharacterManager(crepo); CharacterManager charmgr = new CharacterManager(imgr, crepo);
charmgr.setCharacterClass(MisoCharacterSprite.class);
// initialize the frame // initialize the frame
((TestFrame)_frame).init(charmgr, crepo); ((TestFrame)_frame).init(charmgr, crepo);
@@ -1,13 +1,14 @@
// //
// $Id: BundledComponentRepositoryTest.java,v 1.7 2002/07/19 20:13:29 shaper Exp $ // $Id: BundledComponentRepositoryTest.java,v 1.8 2003/01/13 22:57:45 mdb Exp $
package com.threerings.cast.bundle; package com.threerings.cast.bundle;
import java.util.Iterator; import java.util.Iterator;
import com.samskivert.util.StringUtil; import com.samskivert.util.StringUtil;
import com.threerings.resource.ResourceManager;
import com.threerings.media.ImageManager;
import com.threerings.cast.ComponentClass; import com.threerings.cast.ComponentClass;
import com.threerings.media.image.ImageManager;
import com.threerings.resource.ResourceManager;
import junit.framework.Test; import junit.framework.Test;
import junit.framework.TestCase; import junit.framework.TestCase;
@@ -1,11 +1,13 @@
// //
// $Id: ImageLoadingSpeed.java,v 1.1 2002/12/23 20:32:28 mdb Exp $ // $Id: ImageLoadingSpeed.java,v 1.2 2003/01/13 22:57:45 mdb Exp $
package com.threerings.media; package com.threerings.media;
import java.awt.Image; import java.awt.Image;
import java.io.*; import java.io.*;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.media.image.ImageManager;
/** /**
* Tests our image loading speed. * Tests our image loading speed.
@@ -36,17 +38,30 @@ public class ImageLoadingSpeed
// System.exit(-1); // System.exit(-1);
// } // }
for (int iter = 0; iter < IMAGE_LOAD_ITERS; iter++) { int iter = 0;
while (true) {
// for (int iter = 0; iter < IMAGE_LOAD_ITERS; iter++) {
String path = args[iter%args.length]; String path = args[iter%args.length];
if (path.startsWith("rsrc/")) { if (path.startsWith("rsrc/")) {
path = path.substring(5); path = path.substring(5);
} }
Image image = null; Image image = null;
try { // image = imgr.getImage(path);
image = imgr.loadImage(path); image = imgr.getImage("components", path);
} catch (IOException ioe) {
ioe.printStackTrace(System.err); if (++iter == 100) {
System.exit(-1); long now = System.currentTimeMillis();
long elapsed = now - start;
System.err.println("Loaded " + args.length +
" images a total of " + iter +
" times in " + elapsed + "ms.");
System.err.println("An average of " + (elapsed/iter) +
"ms per image.");
start = now;
iter = 0;
System.gc();
try { Thread.sleep(5000); } catch (Throwable t) {}
} }
} }
@@ -66,12 +81,12 @@ public class ImageLoadingSpeed
// System.exit(-1); // System.exit(-1);
// } // }
long elapsed = System.currentTimeMillis() - start; // long elapsed = System.currentTimeMillis() - start;
System.err.println("Loaded " + args.length + " images a total of " + // System.err.println("Loaded " + args.length + " images a total of " +
IMAGE_LOAD_ITERS + " times in " + elapsed + "ms."); // IMAGE_LOAD_ITERS + " times in " + elapsed + "ms.");
System.err.println("An average of " + (elapsed/IMAGE_LOAD_ITERS) + // System.err.println("An average of " + (elapsed/IMAGE_LOAD_ITERS) +
"ms per image."); // "ms per image.");
} }
protected static final int IMAGE_LOAD_ITERS = 100; protected static final int IMAGE_LOAD_ITERS = 100;
@@ -1,5 +1,5 @@
// //
// $Id: TestIconManager.java,v 1.2 2002/07/19 20:13:29 shaper Exp $ // $Id: TestIconManager.java,v 1.3 2003/01/13 22:57:45 mdb Exp $
package com.threerings.media; package com.threerings.media;
@@ -9,8 +9,9 @@ import javax.swing.*;
import com.samskivert.swing.HGroupLayout; import com.samskivert.swing.HGroupLayout;
import com.samskivert.swing.util.SwingUtil; import com.samskivert.swing.util.SwingUtil;
import com.threerings.resource.ResourceManager; import com.threerings.media.image.ImageManager;
import com.threerings.media.tile.TileManager; import com.threerings.media.tile.TileManager;
import com.threerings.resource.ResourceManager;
/** /**
* Does something extraordinary. * Does something extraordinary.
@@ -1,7 +1,7 @@
// //
// $Id: SoundTestApp.java,v 1.3 2002/12/10 21:36:53 mdb Exp $ // $Id: SoundTestApp.java,v 1.4 2003/01/13 22:57:45 mdb Exp $
package com.threerings.media; package com.threerings.media.sound;
import com.samskivert.util.StringUtil; import com.samskivert.util.StringUtil;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
@@ -27,7 +27,7 @@ public class SoundTestApp
for (int ii = 0; ii < _keys.length; ii++) { for (int ii = 0; ii < _keys.length; ii++) {
System.out.println("Playing " + _keys[ii] + "."); System.out.println("Playing " + _keys[ii] + ".");
_soundmgr.play(SoundManager.DEFAULT, _soundmgr.play(SoundManager.DEFAULT,
"com/threerings/media/", _keys[ii]); "com/threerings/media/sound/", _keys[ii]);
} }
_soundmgr.shutdown(); _soundmgr.shutdown();
@@ -1,11 +1,12 @@
// //
// $Id: BundledTileSetRepositoryTest.java,v 1.7 2002/07/19 20:13:30 shaper Exp $ // $Id: BundledTileSetRepositoryTest.java,v 1.8 2003/01/13 22:57:45 mdb Exp $
package com.threerings.media.tile.bundle; package com.threerings.media.tile.bundle;
import java.util.Iterator; import java.util.Iterator;
import com.threerings.media.image.ImageManager;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.media.ImageManager;
import junit.framework.Test; import junit.framework.Test;
import junit.framework.TestCase; import junit.framework.TestCase;
@@ -22,9 +23,8 @@ public class BundledTileSetRepositoryTest extends TestCase
try { try {
ResourceManager rmgr = new ResourceManager("rsrc"); ResourceManager rmgr = new ResourceManager("rsrc");
rmgr.initBundles(null, "config/resource/manager.properties", null); rmgr.initBundles(null, "config/resource/manager.properties", null);
ImageManager imgr = new ImageManager(rmgr, null); BundledTileSetRepository repo = new BundledTileSetRepository(
BundledTileSetRepository repo = rmgr, new ImageManager(rmgr, null), "tilesets");
new BundledTileSetRepository(rmgr, imgr, "tilesets");
Iterator sets = repo.enumerateTileSets(); Iterator sets = repo.enumerateTileSets();
while (sets.hasNext()) { while (sets.hasNext()) {
sets.next(); sets.next();
@@ -1,5 +1,5 @@
// //
// $Id: TraceViz.java,v 1.1 2002/11/15 09:29:40 shaper Exp $ // $Id: TraceViz.java,v 1.2 2003/01/13 22:57:45 mdb Exp $
package com.threerings.media.util; package com.threerings.media.util;
@@ -22,6 +22,7 @@ import com.samskivert.swing.VGroupLayout;
import com.samskivert.swing.util.SwingUtil; import com.samskivert.swing.util.SwingUtil;
import com.threerings.media.Log; import com.threerings.media.Log;
import com.threerings.media.image.ImageUtil;
/** /**
* Simple application for testing image trace functionality. * Simple application for testing image trace functionality.
@@ -1,5 +1,5 @@
// //
// $Id: ScrollingScene.java,v 1.9 2002/10/01 04:44:23 shaper Exp $ // $Id: ScrollingScene.java,v 1.10 2003/01/13 22:57:45 mdb Exp $
package com.threerings.miso.scene; package com.threerings.miso.scene;
@@ -77,6 +77,12 @@ public class ScrollingScene implements DisplayMisoScene
// nothing for now // nothing for now
} }
// documentation inherited from interface
public boolean canTraverse (Object trav, int x, int y)
{
return true;
}
protected BaseTile[] _tiles; protected BaseTile[] _tiles;
protected Random _rand = new Random(); protected Random _rand = new Random();
@@ -1,5 +1,5 @@
// //
// $Id: ScrollingTestApp.java,v 1.17 2002/09/17 19:11:13 mdb Exp $ // $Id: ScrollingTestApp.java,v 1.18 2003/01/13 22:57:45 mdb Exp $
package com.threerings.miso.scene; package com.threerings.miso.scene;
@@ -19,7 +19,7 @@ import com.samskivert.util.Config;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.media.FrameManager; import com.threerings.media.FrameManager;
import com.threerings.media.ImageManager; import com.threerings.media.image.ImageManager;
import com.threerings.media.util.LinePath; import com.threerings.media.util.LinePath;
import com.threerings.media.util.MultiFrameImage; import com.threerings.media.util.MultiFrameImage;
import com.threerings.media.util.MultiFrameImageImpl; import com.threerings.media.util.MultiFrameImageImpl;
@@ -34,6 +34,7 @@ import com.threerings.media.tile.bundle.BundledTileSetRepository;
import com.threerings.cast.CharacterComponent; import com.threerings.cast.CharacterComponent;
import com.threerings.cast.CharacterDescriptor; import com.threerings.cast.CharacterDescriptor;
import com.threerings.cast.CharacterManager; import com.threerings.cast.CharacterManager;
import com.threerings.cast.CharacterSprite;
import com.threerings.cast.NoSuchComponentException; import com.threerings.cast.NoSuchComponentException;
import com.threerings.cast.bundle.BundledComponentRepository; import com.threerings.cast.bundle.BundledComponentRepository;
@@ -94,8 +95,7 @@ public class ScrollingTestApp
// create the various managers // create the various managers
BundledComponentRepository crepo = BundledComponentRepository crepo =
new BundledComponentRepository(rmgr, imgr, "components"); new BundledComponentRepository(rmgr, imgr, "components");
CharacterManager charmgr = new CharacterManager(crepo); CharacterManager charmgr = new CharacterManager(imgr, crepo);
charmgr.setCharacterClass(MisoCharacterSprite.class);
// create our scene view panel // create our scene view panel
_panel = new SceneViewPanel(_framemgr, new IsoSceneViewModel()); _panel = new SceneViewPanel(_framemgr, new IsoSceneViewModel());
@@ -109,11 +109,11 @@ public class ScrollingTestApp
new int[] { ccomp.componentId }, null); new int[] { ccomp.componentId }, null);
// now create the actual sprite and stick 'em in the scene // now create the actual sprite and stick 'em in the scene
_ship = (MisoCharacterSprite)charmgr.getCharacter(desc); _ship = charmgr.getCharacter(desc);
if (_ship != null) { if (_ship != null) {
_ship.setFollowingPathAction("sailing"); _ship.setFollowingPathAction("sailing");
_ship.setRestingAction("sailing"); _ship.setRestingAction("sailing");
_ship.setActionSequence("sailing"); _ship.setActionSequence("sailing", true);
_ship.setLocation(_panel.getModel().bounds.width/2, _ship.setLocation(_panel.getModel().bounds.width/2,
_panel.getModel().bounds.height/2); _panel.getModel().bounds.height/2);
_panel.addSprite(_ship); _panel.addSprite(_ship);
@@ -219,5 +219,5 @@ public class ScrollingTestApp
protected SceneViewPanel _panel; protected SceneViewPanel _panel;
/** The ship in the center of our screen. */ /** The ship in the center of our screen. */
protected MisoCharacterSprite _ship; protected CharacterSprite _ship;
} }
@@ -1,5 +1,5 @@
// //
// $Id: ViewerApp.java,v 1.34 2002/07/19 20:13:30 shaper Exp $ // $Id: ViewerApp.java,v 1.35 2003/01/13 22:57:46 mdb Exp $
package com.threerings.miso.viewer; package com.threerings.miso.viewer;
@@ -12,9 +12,9 @@ import java.io.IOException;
import com.samskivert.swing.util.SwingUtil; import com.samskivert.swing.util.SwingUtil;
import com.threerings.resource.ResourceManager; import com.threerings.resource.ResourceManager;
import com.threerings.media.FrameManager;
import com.threerings.media.ImageManager;
import com.threerings.media.FrameManager;
import com.threerings.media.image.ImageManager;
import com.threerings.media.tile.bundle.BundledTileSetRepository; import com.threerings.media.tile.bundle.BundledTileSetRepository;
import com.threerings.cast.CharacterManager; import com.threerings.cast.CharacterManager;
@@ -22,7 +22,6 @@ import com.threerings.cast.bundle.BundledComponentRepository;
import com.threerings.miso.Log; import com.threerings.miso.Log;
import com.threerings.miso.scene.DisplayMisoSceneImpl; import com.threerings.miso.scene.DisplayMisoSceneImpl;
import com.threerings.miso.scene.MisoCharacterSprite;
import com.threerings.miso.scene.MisoSceneModel; import com.threerings.miso.scene.MisoSceneModel;
import com.threerings.miso.scene.tools.xml.MisoSceneParser; import com.threerings.miso.scene.tools.xml.MisoSceneParser;
import com.threerings.miso.tile.MisoTileManager; import com.threerings.miso.tile.MisoTileManager;
@@ -81,8 +80,7 @@ public class ViewerApp
// create the various managers // create the various managers
BundledComponentRepository crepo = BundledComponentRepository crepo =
new BundledComponentRepository(rmgr, imgr, "components"); new BundledComponentRepository(rmgr, imgr, "components");
CharacterManager charmgr = new CharacterManager(crepo); CharacterManager charmgr = new CharacterManager(imgr, crepo);
charmgr.setCharacterClass(MisoCharacterSprite.class);
// create our scene view panel // create our scene view panel
_panel = new ViewerSceneViewPanel(ctx, _framemgr, charmgr, crepo); _panel = new ViewerSceneViewPanel(ctx, _framemgr, charmgr, crepo);
@@ -1,5 +1,5 @@
// //
// $Id: ViewerSceneViewPanel.java,v 1.52 2002/12/05 23:06:30 mdb Exp $ // $Id: ViewerSceneViewPanel.java,v 1.53 2003/01/13 22:57:46 mdb Exp $
package com.threerings.miso.viewer; package com.threerings.miso.viewer;
@@ -14,6 +14,7 @@ import com.threerings.media.FrameManager;
import com.threerings.cast.CharacterDescriptor; import com.threerings.cast.CharacterDescriptor;
import com.threerings.cast.CharacterManager; import com.threerings.cast.CharacterManager;
import com.threerings.cast.CharacterSprite;
import com.threerings.cast.ComponentRepository; import com.threerings.cast.ComponentRepository;
import com.threerings.cast.util.CastUtil; import com.threerings.cast.util.CastUtil;
@@ -30,7 +31,6 @@ import com.threerings.miso.Log;
import com.threerings.miso.scene.DisplayMisoScene; import com.threerings.miso.scene.DisplayMisoScene;
import com.threerings.miso.scene.IsoSceneView; import com.threerings.miso.scene.IsoSceneView;
import com.threerings.miso.scene.IsoSceneViewModel; import com.threerings.miso.scene.IsoSceneViewModel;
import com.threerings.miso.scene.MisoCharacterSprite;
import com.threerings.miso.scene.SceneViewPanel; import com.threerings.miso.scene.SceneViewPanel;
import com.threerings.miso.scene.util.IsoUtil; import com.threerings.miso.scene.util.IsoUtil;
import com.threerings.miso.util.MisoContext; import com.threerings.miso.util.MisoContext;
@@ -85,15 +85,14 @@ public class ViewerSceneViewPanel extends SceneViewPanel
/** /**
* Creates a new sprite. * Creates a new sprite.
*/ */
protected MisoCharacterSprite createSprite ( protected CharacterSprite createSprite (
SpriteManager spritemgr, CharacterManager charmgr, SpriteManager spritemgr, CharacterManager charmgr,
CharacterDescriptor desc) CharacterDescriptor desc)
{ {
MisoCharacterSprite s = CharacterSprite s = charmgr.getCharacter(desc);
(MisoCharacterSprite)charmgr.getCharacter(desc);
if (s != null) { if (s != null) {
// start 'em out standing // start 'em out standing
s.setActionSequence(MisoCharacterSprite.STANDING); s.setActionSequence(CharacterSprite.STANDING, false);
s.setLocation(300, 300); s.setLocation(300, 300);
s.addSpriteObserver(this); s.addSpriteObserver(this);
spritemgr.addSprite(s); spritemgr.addSprite(s);
@@ -108,7 +107,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
protected void createDecoys ( protected void createDecoys (
SpriteManager spritemgr, CharacterManager charmgr) SpriteManager spritemgr, CharacterManager charmgr)
{ {
_decoys = new MisoCharacterSprite[NUM_DECOYS]; _decoys = new CharacterSprite[NUM_DECOYS];
for (int ii = 0; ii < NUM_DECOYS; ii++) { for (int ii = 0; ii < NUM_DECOYS; ii++) {
_decoys[ii] = createSprite(spritemgr, charmgr, _descDecoy); _decoys[ii] = createSprite(spritemgr, charmgr, _descDecoy);
} }
@@ -162,7 +161,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
* screen coordinates. Returns whether a path was successfully * screen coordinates. Returns whether a path was successfully
* assigned. * assigned.
*/ */
protected boolean createPath (MisoCharacterSprite s, int x, int y) protected boolean createPath (CharacterSprite s, int x, int y)
{ {
// get the path from here to there // get the path from here to there
LineSegmentPath path = (LineSegmentPath)_view.getPath(s, x, y); LineSegmentPath path = (LineSegmentPath)_view.getPath(s, x, y);
@@ -174,13 +173,14 @@ public class ViewerSceneViewPanel extends SceneViewPanel
// start the sprite moving along the path // start the sprite moving along the path
path.setVelocity(100f/1000f); path.setVelocity(100f/1000f);
s.move(path); s.move(path);
System.out.println("moving " + s + " on " + path);
return true; return true;
} }
/** /**
* Assigns a new random path to the given sprite. * Assigns a new random path to the given sprite.
*/ */
protected void createRandomPath (MisoCharacterSprite s) protected void createRandomPath (CharacterSprite s)
{ {
Dimension d = _viewmodel.bounds.getSize(); Dimension d = _viewmodel.bounds.getSize();
@@ -195,7 +195,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
public void handleEvent (SpriteEvent event) public void handleEvent (SpriteEvent event)
{ {
if (event instanceof PathCompletedEvent) { if (event instanceof PathCompletedEvent) {
MisoCharacterSprite s = (MisoCharacterSprite)event.getSprite(); CharacterSprite s = (CharacterSprite)event.getSprite();
if (s != _sprite) { if (s != _sprite) {
// move the sprite to a new random location // move the sprite to a new random location
@@ -205,7 +205,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
} }
/** The number of decoy characters milling about. */ /** The number of decoy characters milling about. */
protected static final int NUM_DECOYS = 10; protected static final int NUM_DECOYS = 0;
/** The character descriptor for the user character. */ /** The character descriptor for the user character. */
protected CharacterDescriptor _descUser; protected CharacterDescriptor _descUser;
@@ -214,8 +214,8 @@ public class ViewerSceneViewPanel extends SceneViewPanel
protected CharacterDescriptor _descDecoy; protected CharacterDescriptor _descDecoy;
/** The sprite we're manipulating within the view. */ /** The sprite we're manipulating within the view. */
protected MisoCharacterSprite _sprite; protected CharacterSprite _sprite;
/** The test sprites that meander about aimlessly. */ /** The test sprites that meander about aimlessly. */
protected MisoCharacterSprite _decoys[]; protected CharacterSprite _decoys[];
} }