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 + -
显示快捷键?