2008/8/31 Antti Harri <[email protected]>:
> On Tue, 26 Aug 2008, Antti Harri wrote:
>
>> http://www.openarena.ws/
>>
>> "OpenArena is an open-source content package for Quake III Arena licensed
>> under the GPL, effectively creating a free stand-alone game. You do not
>> need Quake III Arena to play this game."
>>
>> It needs some work though, it has been known to run on
>> macppc and x86 but not on amd64 so perhaps someone with
>> amd64 could try it out and solve the issue?
>>
>> *hint* you can try out oga's drm drivers at the same time
>> if you haven't already :-)
>
> Attached is a revised version of the port, changes include:
>
> + removed wrapper script "openarena", "openarena-client" and
>  "openarena-server" can now be used directly.
> + Internet gameplay works now + multipackages openarena, openarena-server
> and openarena-data
>
> I'm waiting for someone to fix the amd64 bug, I have no hardware
> to debug it.
>
> --
> Antti Harri

The reason it dies just after starting is because __WORDSIZE isn't
being defined by anyone. I am not sure if it should be gcc or the c
library but somebody isn't doing his job.
In code/qcommon/vm_interpreted.c: unmodified: line 536 of 919 [58%]:
#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 ];
    }
    argptr = argarr;
#endif
BTW, commenting the preprocessor lines out and rebuilding and
reinstalling will allow amd64 users to play(at least skirmish is
working, I didn't try anything else) but that is not a fix. This is
the only time __WORDSIZE is used in the client but it is likely that
there are other bugs caused by undefined preprocessor constants.

Reply via email to