Package: tremulous Version: 1.1.0-2 Severity: normal Tags: patch
When playing tremulous on my powerpc (an ibook g4), I get flooded by "warning: OP_BLOCK_COPY not dword aligned" on the screen. I can not tell how many times this warning get displayer at once but it's enough to fullfill the scrollback of gnome-terminal if I immediately quit the game. Nor can I tell what cause this behavior, but it happends frequently during a normal game. Also, durint this flood, the gameplay, which is already not so fast on this computer, get slower (presumably cause of this large quantity of messages to be displayed on the console). Considering http://svn.icculus.org/quake3?rev=72&view=rev that lowered this failure from an error to a warning, I think this can safely be ignored (albeit I'm guessing this misalignement can be an issue for performance optimisation but it's definitely worsened by this flooding of warnings). So I suggest to disable this warning on non-debug build, at least on the ppc build. Here's attached a patch (which is working fine on my system) that totally removes this annoying warning. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16-2-powerpc Locale: LANG=fr_BE.UTF-8, LC_CTYPE=fr_BE.UTF-8 (charmap=UTF-8) Versions of packages tremulous depends on: ii libc6 2.3.6-18 GNU C Library: Shared libraries ii libopenal0a 1:0.0.8-1 OpenAL is a portable library for 3 ii libsdl1.2debian 1.2.11-2 Simple DirectMedia Layer ii tremulous-data 1.1.0-1 Tremulous datas tremulous recommends no packages. -- no debconf information
diff -ur tremulous-1.1.0.orig/src/qcommon/vm_interpreted.c tremulous-1.1.0/src/qcommon/vm_interpreted.c --- tremulous-1.1.0.orig/src/qcommon/vm_interpreted.c 2006-08-09 00:56:01.000000000 +0200 +++ tremulous-1.1.0/src/qcommon/vm_interpreted.c 2006-08-09 01:00:22.000000000 +0200 @@ -494,10 +494,12 @@ src = (int *)&image[ r0&dataMask ]; dest = (int *)&image[ r1&dataMask ]; - if ( ( (intptr_t)src | (intptr_t)dest | count ) & 3 ) { +// avoid flooding console +/* if ( ( (intptr_t)src | (intptr_t)dest | count ) & 3 ) { // happens in westernq3 Com_Printf( S_COLOR_YELLOW "Warning: OP_BLOCK_COPY not dword aligned\n"); } +*/ count >>= 2; for ( i = count-1 ; i>= 0 ; i-- ) { dest[i] = src[i];