From: Holger Z. <hz...@us...> - 2004-07-15 14:37:45
|
Update of /cvsroot/jake2/jake2/src/jake2/client In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14706/src/jake2/client Modified Files: VID.java refexport_t.java Log Message: show fullscreen modes in video menu move common renderer code to JoglBase Index: VID.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/client/VID.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** VID.java 9 Jul 2004 06:50:50 -0000 1.5 --- VID.java 15 Jul 2004 14:37:35 -0000 1.6 *************** *** 38,41 **** --- 38,42 ---- import java.awt.Dimension; + import java.awt.DisplayMode; /** *************** *** 86,95 **** } - public static void Error(int err_level, String fmt, Vargs vargs) - { - //static qboolean inupdate; - Com.Error(err_level, fmt, vargs); - } - // ========================================================================== --- 87,90 ---- *************** *** 124,136 **** new vidmode_t("Mode 9: 1600x1200", 1600, 1200, 9), new vidmode_t("Mode 10: 2048x1536", 2048, 1536, 10)}; ! ! static final int NUM_MODES = vid_modes.length; public static boolean GetModeInfo(Dimension dim, int mode) { ! if (mode < 0 || mode >= NUM_MODES) return false; ! dim.width = vid_modes[mode].width; ! dim.height = vid_modes[mode].height; return true; } --- 119,133 ---- new vidmode_t("Mode 9: 1600x1200", 1600, 1200, 9), new vidmode_t("Mode 10: 2048x1536", 2048, 1536, 10)}; ! static vidmode_t fs_modes[]; public static boolean GetModeInfo(Dimension dim, int mode) { ! vidmode_t[] modes = vid_modes; ! if (vid_fullscreen.value != 0.0f) modes = fs_modes; ! ! if (mode < 0 || mode >= modes.length) return false; ! dim.width = modes[mode].width; ! dim.height = modes[mode].height; return true; } *************** *** 192,200 **** refimport_t ri = new refimport_t() { public void Sys_Error(int err_level, String str) { ! VID.Error(err_level, str, null); } public void Sys_Error(int err_level, String str, Vargs vargs) { ! VID.Error(err_level, str, vargs); } --- 189,197 ---- refimport_t ri = new refimport_t() { public void Sys_Error(int err_level, String str) { ! Com.Error(err_level, str, null); } public void Sys_Error(int err_level, String str, Vargs vargs) { ! Com.Error(err_level, str, vargs); } *************** *** 281,290 **** } - /* Init IN (Mouse) */ - // in_state.IN_CenterView_fp = IN_CenterView; - // in_state.Key_Event_fp = Do_Key_Event; - // in_state.viewangles = cl.viewangles; - // in_state.in_strafe_state = &in_strafe.state; - IN.Real_IN_Init(); --- 278,281 ---- *************** *** 414,430 **** // ========================================================================== - // #define REF_SOFT 0 - // #define REF_SOFTX11 1 - // #define REF_MESA3D 2 - // #define REF_3DFXGL 3 - // #define REF_OPENGLX 4 static final int REF_OPENGL_JOGL = 0; static final int REF_OPENGL_FASTJOGL =1; - // #define REF_MESA3DGLX 5 - - // extern cvar_t *vid_ref; - // extern cvar_t *vid_fullscreen; - // extern cvar_t *vid_gamma; - // extern cvar_t *scr_viewsize; static cvar_t gl_mode; --- 405,410 ---- *************** *** 633,636 **** --- 613,620 ---- null }; + static String[] fs_resolutions; + static int last_fs; + static int last_win; + static final String[] refs = { *************** *** 652,662 **** }; /* ** VID_MenuInit */ ! public static void MenuInit() ! { ! int i; ! if ( gl_driver == null ) gl_driver = Cvar.Get( "gl_driver", "jogl", 0 ); --- 636,670 ---- }; + static void initModeList() { + DisplayMode[] modes = re.getModeList(); + fs_resolutions = new String[modes.length + 1]; + fs_modes = new vidmode_t[modes.length]; + for (int i = 0; i < modes.length; i++) { + DisplayMode m = modes[i]; + StringBuffer sb = new StringBuffer(18); + sb.append('['); + sb.append(m.getWidth()); + sb.append(' '); + sb.append(m.getHeight()); + while (sb.length() < 10) sb.append(' '); + sb.append(']'); + fs_resolutions[i] = sb.toString(); + sb.setLength(0); + sb.append("Mode "); + sb.append(i); + sb.append(':'); + sb.append(m.getWidth()); + sb.append('x'); + sb.append(m.getHeight()); + fs_modes[i] = new vidmode_t(sb.toString(), m.getWidth(), m.getHeight(), i); + } + } + /* ** VID_MenuInit */ ! public static void MenuInit() { ! if (fs_resolutions == null) initModeList(); ! if ( gl_driver == null ) gl_driver = Cvar.Get( "gl_driver", "jogl", 0 ); *************** *** 678,681 **** --- 686,702 ---- s_mode_list[SOFTWARE_MENU].curvalue = (int)sw_mode.value; s_mode_list[OPENGL_MENU].curvalue = (int)gl_mode.value; + if (vid_fullscreen.value != 0.0f) { + s_mode_list[OPENGL_MENU].itemnames = fs_resolutions; + if (s_mode_list[OPENGL_MENU].curvalue >= fs_resolutions.length - 1) { + s_mode_list[OPENGL_MENU].curvalue = 0; + } + last_fs = s_mode_list[OPENGL_MENU].curvalue; + } else { + s_mode_list[OPENGL_MENU].itemnames = resolutions; + if (s_mode_list[OPENGL_MENU].curvalue >= resolutions.length - 1) { + s_mode_list[OPENGL_MENU].curvalue = 0; + } + last_win = s_mode_list[OPENGL_MENU].curvalue; + } if ( SCR.scr_viewsize == null ) *************** *** 727,731 **** s_opengl_menu.nitems = 0; ! for ( i = 0; i < 2; i++ ) { s_ref_list[i].type = MTYPE_SPINCONTROL; --- 748,752 ---- s_opengl_menu.nitems = 0; ! for (int i = 0; i < 2; i++ ) { s_ref_list[i].type = MTYPE_SPINCONTROL; *************** *** 744,748 **** s_mode_list[i].x = 0; s_mode_list[i].y = 10; - s_mode_list[i].itemnames = resolutions; s_screensize_slider[i].type = MTYPE_SLIDER; --- 765,768 ---- *************** *** 776,779 **** --- 796,811 ---- s_fs_box[i].itemnames = yesno_names; s_fs_box[i].curvalue = (int)vid_fullscreen.value; + s_fs_box[i].callback = new Menu.mcallback() { + public void execute(Object o) { + int fs = ((Menu.menulist_s)o).curvalue; + if (fs == 0) { + s_mode_list[1].itemnames = resolutions; + s_mode_list[1].curvalue = last_win; + } else { + s_mode_list[1].itemnames = fs_resolutions; + s_mode_list[1].curvalue = last_fs; + } + } + }; s_defaults_action[i].type = MTYPE_ACTION; Index: refexport_t.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/client/refexport_t.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** refexport_t.java 7 Jul 2004 19:58:52 -0000 1.1.1.1 --- refexport_t.java 15 Jul 2004 14:37:35 -0000 1.2 *************** *** 32,35 **** --- 32,36 ---- import java.awt.Dimension; + import java.awt.DisplayMode; /** *************** *** 105,107 **** --- 106,110 ---- int apiVersion(); + + DisplayMode[] getModeList(); } |