default_gun_emplacement = (MechEntry)exact.get(GUN_EMPLACEMENT_STRING.toUpperCase());
    public void loadFromFile(String filename) throws IOException {        // make inpustream for board        Reader r = new BufferedReader(new FileReader(dir + filename));        // read board, looking for "size"        StreamTokenizer st = new StreamTokenizer(r);        st.eolIsSignificant(true);        st.commentChar('#');        st.quoteChar('"');        st.wordChars('_', '_');        while(st.nextToken() != StreamTokenizer.TT_EOF) {            String name = null;            String imageName = null;            if ( st.ttype == StreamTokenizer.TT_WORD                 && st.sval.equalsIgnoreCase("include") ) { //$NON-NLS-1$                st.nextToken();                name = st.sval;                System.out.print( "Loading more unit images from " ); //$NON-NLS-1$                System.out.print( name );                System.out.println( "..." ); //$NON-NLS-1$                try {                    this.loadFromFile(name);                System.out.print( "... finished " ); //$NON-NLS-1$                System.out.print( name );                System.out.println( "." ); //$NON-NLS-1$                }                catch (IOException ioerr) {                    System.out.print( "... failed: " ); //$NON-NLS-1$                    System.out.print( ioerr.getMessage() );                    System.out.println( "." ); //$NON-NLS-1$                }            } else if ( st.ttype == StreamTokenizer.TT_WORD                        && st.sval.equalsIgnoreCase("chassis") ) { //$NON-NLS-1$                st.nextToken();                name = st.sval;                st.nextToken();                imageName = st.sval;                // add to list                chassis.put(name.toUpperCase(), new MechEntry(name, imageName));            } else if ( st.ttype == StreamTokenizer.TT_WORD                        && st.sval.equalsIgnoreCase("exact") ) { //$NON-NLS-1$                st.nextToken();                name = st.sval;                st.nextToken();                imageName = st.sval;                // add to list                exact.put(name.toUpperCase(), new MechEntry(name, imageName));            }        }        r.close();                default_light = (MechEntry)exact.get(LIGHT_STRING.toUpperCase());        default_medium = (MechEntry)exact.get(MEDIUM_STRING.toUpperCase());        default_heavy = (MechEntry)exact.get(HEAVY_STRING.toUpperCase());        default_assault = (MechEntry)exact.get(ASSAULT_STRING.toUpperCase());        default_quad = (MechEntry)exact.get(QUAD_STRING.toUpperCase());        default_tracked = (MechEntry)exact.get(TRACKED_STRING.toUpperCase());        default_tracked_heavy = (MechEntry)exact.get(TRACKED_HEAVY_STRING.toUpperCase());        default_tracked_assault = (MechEntry)exact.get(TRACKED_ASSAULT_STRING.toUpperCase());        default_wheeled = (MechEntry)exact.get(WHEELED_STRING.toUpperCase());        default_wheeled_heavy = (MechEntry)exact.get(WHEELED_HEAVY_STRING.toUpperCase());        default_hover = (MechEntry)exact.get(HOVER_STRING.toUpperCase());        default_naval = (MechEntry)exact.get(NAVAL_STRING.toUpperCase());        default_hydrofoil = (MechEntry)exact.get(HYDROFOIL_STRING.toUpperCase());        default_vtol = (MechEntry)exact.get(VTOL_STRING.toUpperCase());        default_inf = (MechEntry)exact.get(INF_STRING.toUpperCase());        default_ba = (MechEntry)exact.get(BA_STRING.toUpperCase());        default_proto = (MechEntry)exact.get(PROTO_STRING.toUpperCase());    }