Search in sources :

Example 6 with QuakeFile

use of jake2.util.QuakeFile in project narchy by automenta.

the class GameSave method ReadGame.

public static void ReadGame(String filename) {
    QuakeFile f = null;
    try {
        f = new QuakeFile(filename, "r");
        CreateEdicts();
        GameBase.game.load(f);
        for (int i = 0; i < GameBase.game.maxclients; i++) {
            GameBase.game.clients[i] = new gclient_t(i);
            GameBase.game.clients[i].read(f);
        }
        f.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : QuakeFile(jake2.util.QuakeFile)

Example 7 with QuakeFile

use of jake2.util.QuakeFile in project narchy by automenta.

the class Menu method Create_Savestrings.

/**
 * Search the save dir for saved games and their names.
 */
static void Create_Savestrings() {
    int i;
    QuakeFile f;
    String name;
    for (i = 0; i < MAX_SAVEGAMES; i++) {
        m_savestrings[i] = "<EMPTY>";
        name = FS.Gamedir() + "/save/save" + i + "/server.ssv";
        try {
            f = new QuakeFile(name, "r");
            if (f == null) {
                m_savestrings[i] = "<EMPTY>";
                m_savevalid[i] = false;
            } else {
                String str = f.readString();
                if (str != null)
                    m_savestrings[i] = str;
                f.close();
                m_savevalid[i] = true;
            }
        } catch (Exception e) {
            m_savestrings[i] = "<EMPTY>";
            m_savevalid[i] = false;
        }
    }
}
Also used : QuakeFile(jake2.util.QuakeFile)

Example 8 with QuakeFile

use of jake2.util.QuakeFile in project narchy by automenta.

the class SV_CCMDS method SV_ReadLevelFile.

/*
	==============
	SV_ReadLevelFile
	
	==============
	*/
public static void SV_ReadLevelFile() {
    // char name[MAX_OSPATH];
    String name;
    QuakeFile f;
    Com.DPrintf("SV_ReadLevelFile()\n");
    name = FS.Gamedir() + "/save/current/" + SV_INIT.sv.name + ".sv2";
    try {
        f = new QuakeFile(name, "r");
        for (int n = 0; n < Defines.MAX_CONFIGSTRINGS; n++) SV_INIT.sv.configstrings[n] = f.readString();
        CM.CM_ReadPortalState(f);
        f.close();
    } catch (IOException e1) {
        Com.Printf("Failed to open " + name + '\n');
        e1.printStackTrace();
    }
    name = FS.Gamedir() + "/save/current/" + SV_INIT.sv.name + ".sav";
    GameSave.ReadLevel(name);
}
Also used : QuakeFile(jake2.util.QuakeFile) IOException(java.io.IOException)

Example 9 with QuakeFile

use of jake2.util.QuakeFile in project narchy by automenta.

the class SV_CCMDS method SV_WriteServerFile.

/*
	==============
	SV_WriteServerFile
	
	==============
	*/
public static void SV_WriteServerFile(boolean autosave) {
    QuakeFile f;
    cvar_t var;
    String filename, name, string, comment;
    Com.DPrintf("SV_WriteServerFile(" + (autosave ? "true" : "false") + ")\n");
    filename = FS.Gamedir() + "/save/current/server.ssv";
    try {
        f = new QuakeFile(filename, "rw");
        if (!autosave) {
            Calendar c = Calendar.getInstance();
            comment = Com.sprintf("%2i:%2i %2i/%2i  ", new Vargs().add(c.get(Calendar.HOUR_OF_DAY)).add(c.get(Calendar.MINUTE)).add(c.get(Calendar.MONTH) + 1).add(c.get(Calendar.DAY_OF_MONTH)));
            comment += SV_INIT.sv.configstrings[Defines.CS_NAME];
        } else {
            // autosaved
            comment = "ENTERING " + SV_INIT.sv.configstrings[Defines.CS_NAME];
        }
        f.writeString(comment);
        f.writeString(SV_INIT.svs.mapcmd);
        // these will be things like coop, skill, deathmatch, etc
        for (var = Globals.cvar_vars; var != null; var = var.next) {
            if (0 == (var.flags & Defines.CVAR_LATCH))
                continue;
            if (var.name.length() >= Defines.MAX_OSPATH - 1 || var.string.length() >= 128 - 1) {
                Com.Printf("Cvar too long: " + var.name + " = " + var.string + '\n');
                continue;
            }
            name = var.name;
            string = var.string;
            try {
                f.writeString(name);
                f.writeString(string);
            } catch (IOException e2) {
            }
        }
        // rst: for termination.
        f.writeString(null);
        f.close();
    } catch (Exception e) {
        Com.Printf("Couldn't write " + filename + '\n');
    }
    // write game state
    filename = FS.Gamedir() + "/save/current/game.ssv";
    GameSave.WriteGame(filename, autosave);
}
Also used : QuakeFile(jake2.util.QuakeFile) Calendar(java.util.Calendar) Vargs(jake2.util.Vargs) IOException(java.io.IOException) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

QuakeFile (jake2.util.QuakeFile)9 IOException (java.io.IOException)4 FileNotFoundException (java.io.FileNotFoundException)3 Vargs (jake2.util.Vargs)1 Calendar (java.util.Calendar)1