コード例 #1
0
  /** Writes the levellocales to the file. */
  public void write(QuakeFile f) throws IOException {
    f.writeInt(framenum);
    f.writeFloat(time);
    f.writeString(level_name);
    f.writeString(mapname);
    f.writeString(nextmap);
    f.writeFloat(intermissiontime);
    f.writeString(changemap);
    f.writeBoolean(exitintermission);
    f.writeVector(intermission_origin);
    f.writeVector(intermission_angle);
    f.writeEdictRef(sight_client);

    f.writeEdictRef(sight_entity);
    f.writeInt(sight_entity_framenum);

    f.writeEdictRef(sound_entity);
    f.writeInt(sound_entity_framenum);
    f.writeEdictRef(sound2_entity);
    f.writeInt(sound2_entity_framenum);

    f.writeInt(pic_health);

    f.writeInt(total_secrets);
    f.writeInt(found_secrets);

    f.writeInt(total_goals);
    f.writeInt(found_goals);
    f.writeInt(total_monsters);
    f.writeInt(killed_monsters);

    f.writeEdictRef(current_entity);
    f.writeInt(body_que); // dead bodies
    f.writeInt(power_cubes); // ugly necessity for coop

    // rst's checker :-)
    f.writeInt(4711);
  }
コード例 #2
0
  /** Reads the level locals from the file. */
  public void read(QuakeFile f) throws IOException {
    framenum = f.readInt();
    time = f.readFloat();
    level_name = f.readString();
    mapname = f.readString();
    nextmap = f.readString();
    intermissiontime = f.readFloat();
    changemap = f.readString();
    exitintermission = f.readBoolean();
    intermission_origin = f.readVector();
    intermission_angle = f.readVector();
    sight_client = f.readEdictRef();

    sight_entity = f.readEdictRef();
    sight_entity_framenum = f.readInt();

    sound_entity = f.readEdictRef();
    sound_entity_framenum = f.readInt();
    sound2_entity = f.readEdictRef();
    sound2_entity_framenum = f.readInt();

    pic_health = f.readInt();

    total_secrets = f.readInt();
    found_secrets = f.readInt();

    total_goals = f.readInt();
    found_goals = f.readInt();
    total_monsters = f.readInt();
    killed_monsters = f.readInt();

    current_entity = f.readEdictRef();
    body_que = f.readInt(); // dead bodies
    power_cubes = f.readInt(); // ugly necessity for coop	

    // rst's checker :-)
    if (f.readInt() != 4711) System.out.println("error in reading level_locals.");
  }