diff options
Diffstat (limited to 'games/ioquake3')
-rw-r--r-- | games/ioquake3/Makefile | 2 | ||||
-rw-r--r-- | games/ioquake3/files/patch-code-qcommon-vm_interpreted.c | 34 | ||||
-rw-r--r-- | games/ioquake3/pkg-message | 7 |
3 files changed, 37 insertions, 6 deletions
diff --git a/games/ioquake3/Makefile b/games/ioquake3/Makefile index 25937c453d4a..cf9fdbe68392 100644 --- a/games/ioquake3/Makefile +++ b/games/ioquake3/Makefile @@ -7,7 +7,7 @@ PORTNAME?= ioquake3 DISTVERSION?= 1.36 -PORTREVISION?= 2 +PORTREVISION?= 3 CATEGORIES= games MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/ diff --git a/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c b/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c new file mode 100644 index 000000000000..1e9b6ee4d54b --- /dev/null +++ b/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c @@ -0,0 +1,34 @@ +--- code/qcommon/vm_interpreted.c 2009/11/01 19:58:07 1717 ++++ code/qcommon/vm_interpreted.c 2010/01/16 10:55:51 1772 +@@ -516,18 +516,20 @@ + + //VM_LogSyscalls( (int *)&image[ programStack + 4 ] ); + { +- intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ]; +- #if __WORDSIZE == 64 +- // the vm has ints on the stack, we expect +- // longs so we have to convert it +- intptr_t argarr[16]; +- int i; +- for (i = 0; i < 16; ++i) { +- argarr[i] = *(int*)&image[ programStack + 4 + 4*i ]; ++ // the vm has ints on the stack, we expect ++ // pointers so we might have to convert it ++ if (sizeof(intptr_t) != sizeof(int)) { ++ intptr_t argarr[16]; ++ int *imagePtr = (int *)&image[programStack]; ++ int i; ++ for (i = 0; i < 16; ++i) { ++ argarr[i] = *(++imagePtr); ++ } ++ r = vm->systemCall( argarr ); ++ } else { ++ intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ]; ++ r = vm->systemCall( argptr ); + } +- argptr = argarr; +- #endif +- r = vm->systemCall( argptr ); + } + + #ifdef DEBUG_VM diff --git a/games/ioquake3/pkg-message b/games/ioquake3/pkg-message index 118067a15b44..999553264ee7 100644 --- a/games/ioquake3/pkg-message +++ b/games/ioquake3/pkg-message @@ -1,14 +1,11 @@ ============================================================================== -The input devices are now handled by SDL. Some mouse buttons will have -different aliases and the mouse speed needs to be readjusted. +Should the game freeze when entering a match, try to change the value of +com_zoneMegs (e.g. to 48). The configuration files are saved to ~/.ioquake3 instead of ~/.q3a because they have additional variables which would be removed if other engines overwrite them. But you can safely copy the original directory to the new one for the first time. -Should you encounter freezes when playing a demo or single player game, -rebuild without client libraries. - ============================================================================== |