亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? scr.java

?? JAKE2用JAVA寫的queck2的3D游戲開發引擎
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/* * SCR.java * Copyright (C) 2003 *  * $Id: SCR.java,v 1.18 2005/12/04 17:32:42 cawe 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.client;import jake2.Defines;import jake2.Globals;import jake2.game.Cmd;import jake2.game.cvar_t;import jake2.qcommon.*;import jake2.sound.S;import jake2.sys.Sys;import jake2.sys.Timer;import jake2.util.Lib;import jake2.util.Vargs;import java.awt.Dimension;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.util.Arrays;/** * SCR */public final class SCR extends Globals {    //	cl_scrn.c -- master for refresh, status bar, console, chat, notify, etc    static String[][] sb_nums = {            { "num_0", "num_1", "num_2", "num_3", "num_4", "num_5", "num_6",                    "num_7", "num_8", "num_9", "num_minus" },            { "anum_0", "anum_1", "anum_2", "anum_3", "anum_4", "anum_5",                    "anum_6", "anum_7", "anum_8", "anum_9", "anum_minus" } };    /*     * full screen console put up loading plaque blanked background with loading     * plaque blanked background with menu cinematics full screen image for quit     * and victory     *      * end of unit intermissions     */    static float scr_con_current; // aproaches scr_conlines at scr_conspeed    static float scr_conlines; // 0.0 to 1.0 lines of console to display    static boolean scr_initialized; // ready to draw    static int scr_draw_loading;    // scr_vrect ist in Globals definiert    // position of render window on screen    static cvar_t scr_viewsize;    static cvar_t scr_conspeed;    static cvar_t scr_centertime;    static cvar_t scr_showturtle;    static cvar_t scr_showpause;    static cvar_t scr_printspeed;    static cvar_t scr_netgraph;    static cvar_t scr_timegraph;    static cvar_t scr_debuggraph;    static cvar_t scr_graphheight;    static cvar_t scr_graphscale;    static cvar_t scr_graphshift;    static cvar_t scr_drawall;    public static cvar_t fps = new cvar_t();    static dirty_t scr_dirty = new dirty_t();    static dirty_t[] scr_old_dirty = { new dirty_t(), new dirty_t() };    static String crosshair_pic;    static int crosshair_width, crosshair_height;    static class dirty_t {        int x1;        int x2;        int y1;        int y2;        void set(dirty_t src) {            x1 = src.x1;            x2 = src.x2;            y1 = src.y1;            y2 = src.y2;        }        void clear() {            x1 = x2 = y1 = y2 = 0;        }    }    /*     * ===============================================================================     *      * BAR GRAPHS     *      * ===============================================================================     */    //	typedef struct    //	{    //		float value;    //		int color;    //	} graphsamp_t;    static class graphsamp_t {        float value;        int color;    }    static int current;    static graphsamp_t[] values = new graphsamp_t[1024];    static {        for (int n = 0; n < 1024; n++)            values[n] = new graphsamp_t();    }    /*     * ============== SCR_DebugGraph ==============     */    public static void DebugGraph(float value, int color) {        values[current & 1023].value = value;        values[current & 1023].color = color;        current++;    }    /*     * ============== SCR_DrawDebugGraph ==============     */    static void DrawDebugGraph() {        int a, x, y, w, i, h;        float v;        int color;        // draw the graph        w = scr_vrect.width;        x = scr_vrect.x;        y = scr_vrect.y + scr_vrect.height;        re.DrawFill(x, (int) (y - scr_graphheight.value), w,                (int) scr_graphheight.value, 8);        for (a = 0; a < w; a++) {            i = (current - 1 - a + 1024) & 1023;            v = values[i].value;            color = values[i].color;            v = v * scr_graphscale.value + scr_graphshift.value;            if (v < 0)                v += scr_graphheight.value                        * (1 + (int) (-v / scr_graphheight.value));            h = (int) v % (int) scr_graphheight.value;            re.DrawFill(x + w - 1 - a, y - h, 1, h, color);        }    }    /*     * ===============================================================================     *      * CENTER PRINTING     *      * ===============================================================================     */    // char scr_centerstring[1024];    static String scr_centerstring;    static float scr_centertime_start; // for slow victory printing    static float scr_centertime_off;    static int scr_center_lines;    static int scr_erase_center;    /*     * ============== SCR_CenterPrint     *      * Called for important messages that should stay in the center of the     * screen for a few moments ==============     */    static void CenterPrint(String str) {        //char *s;        int s;        StringBuffer line = new StringBuffer(64);        int i, j, l;        //strncpy (scr_centerstring, str, sizeof(scr_centerstring)-1);        scr_centerstring = str;        scr_centertime_off = scr_centertime.value;        scr_centertime_start = cl.time;        // count the number of lines for centering        scr_center_lines = 1;        s = 0;        while (s < str.length()) {            if (str.charAt(s) == '\n')                scr_center_lines++;            s++;        }        // echo it to the console        Com                .Printf("\n\n\35\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\37\n\n");        s = 0;        if (str.length() != 0) {            do {                // scan the width of the line                for (l = 0; l < 40 && (l + s) < str.length(); l++)                    if (str.charAt(s + l) == '\n' || str.charAt(s + l) == 0)                        break;                for (i = 0; i < (40 - l) / 2; i++)                    line.append(' ');                for (j = 0; j < l; j++) {                    line.append(str.charAt(s + j));                }                line.append('\n');                Com.Printf(line.toString());                while (s < str.length() && str.charAt(s) != '\n')                    s++;                if (s == str.length())                    break;                s++; // skip the \n            } while (true);        }        Com                .Printf("\n\n\35\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\37\n\n");        Console.ClearNotify();    }    static void DrawCenterString() {        String cs = scr_centerstring + "\0";        int start;        int l;        int j;        int x, y;        int remaining;        if (cs == null)            return;        if (cs.length() == 0)            return;        // the finale prints the characters one at a time        remaining = 9999;        scr_erase_center = 0;        start = 0;        if (scr_center_lines <= 4)            y = (int) (viddef.height * 0.35);        else            y = 48;        do {            // scan the width of the line            for (l = 0; l < 40; l++)                if (start + l == cs.length() - 1                        || cs.charAt(start + l) == '\n')                    break;            x = (viddef.width - l * 8) / 2;            SCR.AddDirtyPoint(x, y);            for (j = 0; j < l; j++, x += 8) {                re.DrawChar(x, y, cs.charAt(start + j));                if (remaining == 0)                    return;                remaining--;            }            SCR.AddDirtyPoint(x, y + 8);            y += 8;            while (start < cs.length() && cs.charAt(start) != '\n')                start++;            if (start == cs.length())                break;            start++; // skip the \n        } while (true);    }    static void CheckDrawCenterString() {        scr_centertime_off -= cls.frametime;        if (scr_centertime_off <= 0)            return;        DrawCenterString();    }    // =============================================================================    /*     * ================= SCR_CalcVrect     *      * Sets scr_vrect, the coordinates of the rendered window =================     */    static void CalcVrect() {        int size;        // bound viewsize        if (scr_viewsize.value < 40)            Cvar.Set("viewsize", "40");        if (scr_viewsize.value > 100)            Cvar.Set("viewsize", "100");        size = (int) scr_viewsize.value;        scr_vrect.width = viddef.width * size / 100;        scr_vrect.width &= ~7;        scr_vrect.height = viddef.height * size / 100;        scr_vrect.height &= ~1;        scr_vrect.x = (viddef.width - scr_vrect.width) / 2;        scr_vrect.y = (viddef.height - scr_vrect.height) / 2;    }    /*     * ================= SCR_SizeUp_f     *      * Keybinding command =================     */    static void SizeUp_f() {        Cvar.SetValue("viewsize", scr_viewsize.value + 10);    }    /*     * ================= SCR_SizeDown_f     *      * Keybinding command =================     */    static void SizeDown_f() {        Cvar.SetValue("viewsize", scr_viewsize.value - 10);    }    /*     * ================= SCR_Sky_f     *      * Set a specific sky and rotation speed =================     */    static void Sky_f() {        float rotate;        float[] axis = { 0, 0, 0 };        if (Cmd.Argc() < 2) {            Com.Printf("Usage: sky <basename> <rotate> <axis x y z>\n");            return;        }        if (Cmd.Argc() > 2)            rotate = Float.parseFloat(Cmd.Argv(2));        else            rotate = 0;        if (Cmd.Argc() == 6) {            axis[0] = Float.parseFloat(Cmd.Argv(3));            axis[1] = Float.parseFloat(Cmd.Argv(4));            axis[2] = Float.parseFloat(Cmd.Argv(5));        } else {            axis[0] = 0;            axis[1] = 0;            axis[2] = 1;        }        re.SetSky(Cmd.Argv(1), rotate, axis);    }    // ============================================================================    /*     * ================== SCR_Init ==================     */    static void Init() {        scr_viewsize = Cvar.Get("viewsize", "100", CVAR_ARCHIVE);        scr_conspeed = Cvar.Get("scr_conspeed", "3", 0);        scr_showturtle = Cvar.Get("scr_showturtle", "0", 0);        scr_showpause = Cvar.Get("scr_showpause", "1", 0);        scr_centertime = Cvar.Get("scr_centertime", "2.5", 0);        scr_printspeed = Cvar.Get("scr_printspeed", "8", 0);        scr_netgraph = Cvar.Get("netgraph", "1", 0);        scr_timegraph = Cvar.Get("timegraph", "1", 0);        scr_debuggraph = Cvar.Get("debuggraph", "1", 0);        scr_graphheight = Cvar.Get("graphheight", "32", 0);        scr_graphscale = Cvar.Get("graphscale", "1", 0);        scr_graphshift = Cvar.Get("graphshift", "0", 0);        scr_drawall = Cvar.Get("scr_drawall", "1", 0);        fps = Cvar.Get("fps", "0", 0);        //        // register our commands        //        Cmd.AddCommand("timerefresh", new xcommand_t() {            public void execute() {                TimeRefresh_f();            }        });        Cmd.AddCommand("loading", new xcommand_t() {            public void execute() {                Loading_f();            }        });        Cmd.AddCommand("sizeup", new xcommand_t() {            public void execute() {                SizeUp_f();            }        });        Cmd.AddCommand("sizedown", new xcommand_t() {            public void execute() {                SizeDown_f();            }        });        Cmd.AddCommand("sky", new xcommand_t() {            public void execute() {                Sky_f();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区免费看| 日韩午夜电影av| 国精产品一区一区三区mba桃花| 国产亚洲精品资源在线26u| 91美女蜜桃在线| 国产精品18久久久久久久久久久久| 亚洲永久免费av| 国产精品进线69影院| 久久久久一区二区三区四区| 欧美日韩一区二区在线视频| 99视频精品在线| 在线看国产一区二区| 色综合天天性综合| 国产精一品亚洲二区在线视频| 日本欧美在线看| 日韩二区在线观看| 亚洲成人动漫一区| 日韩高清电影一区| 免费成人结看片| 久久精品国内一区二区三区 | 久久久久久免费网| 久久精品免视看| 国产精品免费人成网站| 国产亚洲精品bt天堂精选| 亚洲精品一区二区精华| 国产午夜精品一区二区三区嫩草| 精品国产乱码久久久久久牛牛| 久久综合五月天婷婷伊人| 2020日本不卡一区二区视频| 国产精品免费网站在线观看| 亚洲在线视频网站| 激情亚洲综合在线| 99久久精品国产导航| 欧美精品一级二级三级| 国产网站一区二区| 亚洲乱码国产乱码精品精小说 | 国产成人午夜高潮毛片| 国产一区二区美女| 不卡视频免费播放| 欧美精品乱码久久久久久按摩| 欧美年轻男男videosbes| 国产欧美精品区一区二区三区 | 亚洲欧美色图小说| 丝袜美腿成人在线| 91性感美女视频| 久久这里只精品最新地址| 久久精品人人做人人综合| 国产精品久久一级| 国内精品第一页| 欧美日韩一级二级| 亚洲国产精品激情在线观看| 亚洲美女免费视频| 国产成人精品免费一区二区| 色伊人久久综合中文字幕| 精品久久久久av影院| 亚洲va欧美va人人爽| 国产精品一二三在| 日韩一级片网址| 亚洲一区电影777| 91理论电影在线观看| 国产欧美日韩一区二区三区在线观看| 婷婷亚洲久悠悠色悠在线播放 | 亚洲精品伦理在线| www.综合网.com| 国产精品久久久久久久久快鸭| av爱爱亚洲一区| 国产精品蜜臀av| 91视频观看视频| 亚洲人成影院在线观看| 色欧美乱欧美15图片| 偷拍自拍另类欧美| 欧美大尺度电影在线| 福利一区二区在线| 亚洲免费三区一区二区| 91麻豆精品91久久久久久清纯| 蜜桃一区二区三区四区| 中文字幕乱码亚洲精品一区| 91热门视频在线观看| 日韩不卡在线观看日韩不卡视频| 久久亚洲春色中文字幕久久久| www.欧美精品一二区| 午夜成人在线视频| 日本一区二区三区在线观看| 欧美日韩国产首页| 成人综合婷婷国产精品久久免费| 亚洲综合久久av| 国产欧美日韩在线看| 91精品久久久久久久99蜜桃| 国产99精品在线观看| 亚洲h精品动漫在线观看| 亚洲国产精品成人综合| 欧美日韩一区二区三区四区| 成人性色生活片免费看爆迷你毛片| 午夜视频在线观看一区二区三区 | 欧美一级一区二区| 在线区一区二视频| 成人手机电影网| 大尺度一区二区| 成人免费视频app| 国产在线国偷精品产拍免费yy| 91蝌蚪porny九色| 中文字幕av资源一区| 精品国产免费一区二区三区四区| 欧美性xxxxx极品少妇| 不卡一卡二卡三乱码免费网站| 91啪九色porn原创视频在线观看| 成人动漫在线一区| 99久久精品国产导航| youjizz国产精品| 一本久久综合亚洲鲁鲁五月天| 91日韩精品一区| 国产成人精品亚洲777人妖| 国产福利一区二区三区视频在线 | 亚洲自拍偷拍av| 日本三级亚洲精品| 久久超级碰视频| 粉嫩在线一区二区三区视频| 国产成人免费视频网站高清观看视频 | 免费不卡在线观看| 日本在线不卡视频| 一卡二卡三卡日韩欧美| 亚洲自拍另类综合| 精品亚洲porn| 成人av片在线观看| 欧美一区二区三区性视频| 中文字幕亚洲一区二区va在线| 国产精品久久免费看| 一区av在线播放| 成人一区二区三区在线观看| 欧美午夜精品电影| 国产精品视频一区二区三区不卡| 日韩成人一级大片| 久热成人在线视频| 日本久久精品电影| 国产调教视频一区| 日本欧美加勒比视频| 93久久精品日日躁夜夜躁欧美| 欧美一区二区三区在线看| 精品国产91乱码一区二区三区| 26uuu久久天堂性欧美| 一区二区三区视频在线看| 国产精品99久久久久久久vr| 在线免费观看视频一区| 国产欧美va欧美不卡在线| 国产蜜臀97一区二区三区| 婷婷综合在线观看| 欧美一区二区三区在线视频 | 一区二区三区中文字幕电影| 91亚洲午夜精品久久久久久| 中文字幕一区二区三区四区不卡| 国产成人精品亚洲午夜麻豆| 久久亚洲春色中文字幕久久久| 午夜精品福利一区二区蜜股av| 欧美日韩在线不卡| 人妖欧美一区二区| 久久精品水蜜桃av综合天堂| 成人久久视频在线观看| 国产精品不卡在线| 欧美片网站yy| 久久99久久久久| 久久久久久久网| 日本大香伊一区二区三区| 亚洲电影中文字幕在线观看| 日韩欧美成人一区二区| 大尺度一区二区| 日本不卡免费在线视频| 精品国产网站在线观看| 91尤物视频在线观看| 亚洲成av人片一区二区梦乃| 精品久久一区二区| 国产99久久久国产精品潘金| 亚洲精品中文在线| 欧美电影一区二区三区| 国产在线观看免费一区| 亚洲一区视频在线| 国产欧美一区二区三区网站| 欧美日韩精品一区视频| 色综合久久久久| 国产成人在线视频网站| 日韩电影免费在线观看网站| 国产视频视频一区| 日韩区在线观看| 一本色道综合亚洲| 91丨porny丨中文| 国产综合色在线视频区| 久久精品国产亚洲一区二区三区| 夜夜嗨av一区二区三区网页| 欧美激情一区在线观看| 日韩一区二区视频在线观看| 欧美日韩亚洲综合| 欧美日韩久久久| 欧美三级欧美一级| 色综合天天天天做夜夜夜夜做| 国产传媒日韩欧美成人| 国产精品18久久久久久久久久久久| 国产精品888| 国产成人免费在线视频| 国产成人在线电影| 97久久超碰国产精品电影| 91麻豆国产香蕉久久精品|