[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stratagus-CVS] stratagus/src clone/ccl.c clone/mainloop.c incl...
From: |
ludovic pollet |
Subject: |
[Stratagus-CVS] stratagus/src clone/ccl.c clone/mainloop.c incl... |
Date: |
Thu, 20 Nov 2003 08:48:05 -0500 |
CVSROOT: /cvsroot/stratagus
Module name: stratagus
Branch:
Changes by: ludovic pollet <address@hidden> 03/11/20 08:48:05
Modified files:
src/clone : ccl.c mainloop.c
src/include : ui.h
src/ui : ccl_ui.c interface.c
Log message:
Added set-group-key ccl function, to support groups with non qwerty
keyboards
Patches:
Index: stratagus/src/clone/ccl.c
diff -u stratagus/src/clone/ccl.c:1.135 stratagus/src/clone/ccl.c:1.136
--- stratagus/src/clone/ccl.c:1.135 Wed Nov 19 22:21:33 2003
+++ stratagus/src/clone/ccl.c Thu Nov 20 08:48:01 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ccl.c,v 1.135 2003/11/20 03:21:33 jsalmon3 Exp $
+// $Id: ccl.c,v 1.136 2003/11/20 13:48:01 pludov Exp $
//@{
@@ -2016,7 +2016,7 @@
{
FILE* fd;
char buf[1024];
-
+ int i;
//
// preferences1.ccl
// This file is loaded before stratagus.ccl
@@ -2037,9 +2037,20 @@
}
fprintf(fd, ";;; -----------------------------------------\n");
- fprintf(fd, ";;; $Id: ccl.c,v 1.135 2003/11/20 03:21:33 jsalmon3 Exp $\n");
+ fprintf(fd, ";;; $Id: ccl.c,v 1.136 2003/11/20 13:48:01 pludov Exp $\n");
fprintf(fd, "(set-video-resolution! %d %d)\n", VideoWidth, VideoHeight);
+ fprintf(fd, "(set-group-keys \"");
+ i = 0;
+ while (ui_group_keys[i]) {
+ if (ui_group_keys[i]!='"') {
+ fprintf(fd, "%c", ui_group_keys[i]);
+ } else {
+ fprintf(fd, "\"");
+ }
+ i++;
+ }
+ fprintf(fd, "\"\n");
fclose(fd);
#elif defined(USE_LUA)
@@ -2057,7 +2068,7 @@
}
fprintf(fd, "--[[\n");
- fprintf(fd, " $Id: ccl.c,v 1.135 2003/11/20 03:21:33 jsalmon3 Exp
$\n");
+ fprintf(fd, " $Id: ccl.c,v 1.136 2003/11/20 13:48:01 pludov Exp $\n");
fprintf(fd, "]]\n");
fprintf(fd, "SetVideoResolution(%d, %d)\n", VideoWidth, VideoHeight);
@@ -2084,7 +2095,7 @@
}
fprintf(fd, ";;; -----------------------------------------\n");
- fprintf(fd, ";;; $Id: ccl.c,v 1.135 2003/11/20 03:21:33 jsalmon3 Exp $\n");
+ fprintf(fd, ";;; $Id: ccl.c,v 1.136 2003/11/20 13:48:01 pludov Exp $\n");
// Global options
if (OriginalFogOfWar) {
@@ -2165,7 +2176,7 @@
}
fprintf(fd, "--[[\n");
- fprintf(fd, " $Id: ccl.c,v 1.135 2003/11/20 03:21:33 jsalmon3 Exp
$\n");
+ fprintf(fd, " $Id: ccl.c,v 1.136 2003/11/20 13:48:01 pludov Exp $\n");
fprintf(fd, "]]\n");
fprintf(fd, "SetVideoFullscreen(%s)\n", VideoFullScreen ? "true" :
"false");
@@ -2225,7 +2236,7 @@
extern SCM oblistvar;
CLprintf(file, "\n;;; -----------------------------------------\n");
- CLprintf(file, ";;; MODULE: CCL $Id: ccl.c,v 1.135 2003/11/20 03:21:33
jsalmon3 Exp $\n\n");
+ CLprintf(file, ";;; MODULE: CCL $Id: ccl.c,v 1.136 2003/11/20 13:48:01
pludov Exp $\n\n");
for (list = oblistvar; gh_list_p(list); list = gh_cdr(list)) {
SCM sym;
Index: stratagus/src/clone/mainloop.c
diff -u stratagus/src/clone/mainloop.c:1.161
stratagus/src/clone/mainloop.c:1.162
--- stratagus/src/clone/mainloop.c:1.161 Wed Nov 19 21:22:29 2003
+++ stratagus/src/clone/mainloop.c Thu Nov 20 08:48:01 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: mainloop.c,v 1.161 2003/11/20 02:22:29 pludov Exp $
+// $Id: mainloop.c,v 1.162 2003/11/20 13:48:01 pludov Exp $
//@{
@@ -968,7 +968,7 @@
EndMenu();
}
}
-
+
//
// Game over
//
Index: stratagus/src/include/ui.h
diff -u stratagus/src/include/ui.h:1.78 stratagus/src/include/ui.h:1.79
--- stratagus/src/include/ui.h:1.78 Mon Nov 17 14:14:33 2003
+++ stratagus/src/include/ui.h Thu Nov 20 08:48:03 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ui.h,v 1.78 2003/11/17 19:14:33 nehalmistry Exp $
+// $Id: ui.h,v 1.79 2003/11/20 13:48:03 pludov Exp $
#ifndef __UI_H__
#define __UI_H__
@@ -351,6 +351,8 @@
extern int SpeedKeyScroll; /// Keyboard Scrolling Speed, in Frames
extern int SpeedMouseScroll; /// Mouse Scrolling Speed, in Frames
+
+extern char* ui_group_keys; /// up to 11 keys used for group
selection
// only exported to save them
Index: stratagus/src/ui/ccl_ui.c
diff -u stratagus/src/ui/ccl_ui.c:1.155 stratagus/src/ui/ccl_ui.c:1.156
--- stratagus/src/ui/ccl_ui.c:1.155 Thu Nov 20 02:59:44 2003
+++ stratagus/src/ui/ccl_ui.c Thu Nov 20 08:48:03 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: ccl_ui.c,v 1.155 2003/11/20 07:59:44 nehalmistry Exp $
+// $Id: ccl_ui.c,v 1.156 2003/11/20 13:48:03 pludov Exp $
//@{
@@ -8025,6 +8025,14 @@
}
#endif
+#if defined(USE_GUILE) || defined(USE_SIOD)
+local SCM CclSetGroupKeys(SCM list)
+{
+ ui_group_keys = gh_scm2newstr(list, NULL);
+ return SCM_UNSPECIFIED;
+}
+#endif
+
/**
** Add a keystroke help
**
@@ -8190,6 +8198,7 @@
//
gh_new_procedure0_0("reset-keystroke-help", CclResetKeystrokeHelp);
gh_new_procedureN("add-keystroke-help", CclAddKeystrokeHelp);
+ gh_new_procedure1_0("set-group-keys", CclSetGroupKeys);
#elif defined(USE_LUA)
lua_register(Lua, "AddMessage", CclAddMessage);
Index: stratagus/src/ui/interface.c
diff -u stratagus/src/ui/interface.c:1.139 stratagus/src/ui/interface.c:1.140
--- stratagus/src/ui/interface.c:1.139 Tue Oct 7 08:03:41 2003
+++ stratagus/src/ui/interface.c Thu Nov 20 08:48:05 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: interface.c,v 1.139 2003/10/07 12:03:41 martinxyz Exp $
+// $Id: interface.c,v 1.140 2003/11/20 13:48:05 pludov Exp $
//@{
@@ -78,6 +78,7 @@
local int InputIndex; /// current index into input
local char InputStatusLine[99]; /// Last input status line
local int SpeedCheat; /// Speed up cheat
+local char* ui_group_keys="0123456789`";/// Up to 11 keys, last unselect.
Default for qwerty
global char GameRunning; /// Current running state
global char GamePaused; /// Current pause state
global char GameObserve; /// Observe mode
@@ -660,6 +661,16 @@
*/
local int CommandKey(int key)
{
+ char * ptr;
+
+ // FIXME: don't handle unicode well. Should work on all latin keyboard.
+ if ((ptr = strchr(ui_group_keys,key))) {
+ key = '0' + ptr - ui_group_keys;
+ if (key > '9') {
+ key = '`';
+ }
+ }
+
switch (key) {
case '\r': // Return enters chat/input mode.
UiBeginInput();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Stratagus-CVS] stratagus/src clone/ccl.c clone/mainloop.c incl...,
ludovic pollet <=