jake2.java

来自「JAKE2用JAVA写的queck2的3D游戏开发引擎」· Java 代码 · 共 112 行

JAVA
112
字号
/* * Jake2.java * Copyright (C)  2003 *  * $Id: Jake2.java,v 1.9 2005/12/03 19:43:15 salomo Exp $ *//* Copyright (C) 1997-2001 Id Software, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */package jake2;import jake2.qcommon.*;import jake2.sys.Timer;import java.util.Locale;/** * Jake2 is the main class of Quake2 for Java. */public final class Jake2 {    public static Q2DataDialog Q2Dialog;    /**     * main is used to start the game. Quake2 for Java supports the following     * command line arguments:     *      * @param args     */    public static void main(String[] args) {    	    	boolean dedicated = false;    	// check if we are in dedicated mode to hide the java dialog.    	for (int n = 0; n <  args.length; n++)    	{    		if (args[n].equals("+set"))    		{    			if (n++ >= args.length)    				break;    			    			if (!args[n].equals("dedicated"))    				continue;    			if (n++ >= args.length)    				break;    			if (args[n].equals("1") || args[n].equals("\"1\""))    			{    				Com.Printf("Starting in dedicated mode.\n");    				dedicated = true;    			}    		}    		    	}    	    	// TODO: check if dedicated is set in config file    			Globals.dedicated= Cvar.Get("dedicated", "0", Qcommon.CVAR_NOSET);        	if (dedicated)    		Globals.dedicated.value = 1.0f;    	    	    	    	// open the q2dialog, if we are not in dedicated mode.    	if (Globals.dedicated.value != 1.0f)    	{    		Q2Dialog = new Q2DataDialog();    		Locale.setDefault(Locale.US);    		Q2Dialog.setVisible(true);    	}        // in C the first arg is the filename        int argc = (args == null) ? 1 : args.length + 1;        String[] c_args = new String[argc];        c_args[0] = "Jake2";        if (argc > 1) {            System.arraycopy(args, 0, c_args, 1, argc - 1);        }        Qcommon.Init(c_args);        Globals.nostdout = Cvar.Get("nostdout", "0", 0);        int oldtime = Timer.Milliseconds();        int newtime;        int time;        while (true) {            // find time spending rendering last frame            newtime = Timer.Milliseconds();            time = newtime - oldtime;            if (time > 0)                Qcommon.Frame(time);            oldtime = newtime;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?