From: Elias N. <eli...@us...> - 2002-11-16 20:10:50
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory usw-pr-cvs1:/tmp/cvs-serv11174 Modified Files: Game.java org_lwjgl_Display.c org_lwjgl_Sys.c Log Message: Added Sys setPriority support Index: Game.java CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/Game.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/Game.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Game.java 16 Nov 2002 19:46:18 -0000 1.3 +++ Game.java 16 Nov 2002 20:10:42 -0000 1.4 @@ -152,6 +152,7 @@ Keyboard.enableBuffer(); Mouse.create(); Sys.setTime(0); + Sys.setProcessPriority(Sys.REALTIME_PRIORITY); System.out.println("Timer resolution: " + Sys.getTimerResolution()); // Go into orthographic projection mode. gl.matrixMode(GL.PROJECTION); Index: org_lwjgl_Display.c CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/org_lwjgl_Display.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_Display.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- org_lwjgl_Display.c 15 Nov 2002 11:10:32 -0000 1.4 +++ org_lwjgl_Display.c 16 Nov 2002 20:10:42 -0000 1.5 @@ -54,6 +54,7 @@ Display * disp; int screen; +int current_fullscreen; Window win; XF86VidModeModeInfo **avail_modes; XVisualInfo * vis_info; @@ -92,6 +93,7 @@ int attriblist[] = {GLX_RGBA, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 24, GLX_RED_SIZE, bpe, GLX_GREEN_SIZE, bpe, GLX_BLUE_SIZE, bpe, GLX_ALPHA_SIZE, bpe, None}; int num_modes, i; + current_fullscreen = fullscreen; disp = XOpenDisplay(NULL); if (disp == NULL) { #ifdef _DEBUG @@ -159,13 +161,15 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Display_nDestroy(JNIEnv * env, jclass clazz) { XDestroyWindow(disp, win); - if (!XF86VidModeSwitchToMode(disp, screen, avail_modes[0])) { + if (current_fullscreen) { + if (!XF86VidModeSwitchToMode(disp, screen, avail_modes[0])) { #ifdef _DEBUG - printf("Could not switch mode\n"); + printf("Could not switch mode\n"); #endif + } + XFree(avail_modes); } XFree(vis_info); - XFree(avail_modes); XCloseDisplay(disp); #ifdef _DEBUG printf("Closed X connection\n"); Index: org_lwjgl_Sys.c CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/org_lwjgl_Sys.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_Sys.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- org_lwjgl_Sys.c 16 Nov 2002 19:46:18 -0000 1.3 +++ org_lwjgl_Sys.c 16 Nov 2002 20:10:42 -0000 1.4 @@ -40,6 +40,7 @@ */ #include <sys/time.h> +#include <sys/resource.h> #include "org_lwjgl_Sys.h" long int hires_timer_freq; // Hires timer frequency @@ -128,29 +129,27 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setProcessPriority (JNIEnv * env, jclass clazz, jint priority) { -/* HANDLE me = GetCurrentProcess(); - int win32priority; - + int linux_priority; switch (priority) { case org_lwjgl_Sys_REALTIME_PRIORITY: - win32priority = REALTIME_PRIORITY_CLASS; + linux_priority = -20; break; case org_lwjgl_Sys_HIGH_PRIORITY: - win32priority = HIGH_PRIORITY_CLASS; + linux_priority = -10; break; case org_lwjgl_Sys_NORMAL_PRIORITY: - win32priority = NORMAL_PRIORITY_CLASS; + linux_priority = 0; break; case org_lwjgl_Sys_LOW_PRIORITY: - win32priority = IDLE_PRIORITY_CLASS; + linux_priority = 20; break; default: return; } - if (!SetPriorityClass(me, win32priority)) { + if (setpriority(PRIO_PROCESS, 0, linux_priority) == -1) { #ifdef _DEBUG - printf("Failed to set priority class.\n"); + printf("Failed to set priority.\n"); #endif - }*/ + } } |