[quake3] third win64 patch

James Lacey jamlacey at gmail.com
Sun Mar 26 12:55:48 EST 2006


The interpreter works fine. I need to go back and look at previous
versions of the code. When you committed some of your intrptr_t
changes, one of them broke the Win64 build. I had to change it back to
a long. I thought it was vmMain() but I will go back and check. It
could be that it broke the interpreter but the dll interface was okay
and then my change fixed the interpreter and broke the dll interface.
I'll do some more digging and see what I come up with.

James

On 3/26/06, Ludwig Nussel <ludwig.nussel at suse.de> wrote:
> James Lacey wrote:
> > Actually, the key difference on this line is that vmMain returns a
> > long instead of an intptr_t. sizeof(long) != sizeof(intptr_t) for
> > Win64. Returning a 64-bit integer from this function on Win64 screws
> > things up.
>
> vmMain needs to return a pointer because of GAME_CLIENT_CONNECT in
> code/game/g_main.c.
>
> vmMain ends up as vm->entryPoint. It's return value is used as
> intptr_t in VM_Call (vm.c, line 743). I really can't see what can go
> wrong there. Especially since you only changed the ui, game and
> cgame still use intptr_t.
>
> The change affects the dll interface only, does that mean
> interpreter works?
>
> cu
> Ludwig
>
> --
>  (o_   Ludwig Nussel
>  //\   SUSE LINUX Products GmbH, Development
>  V_/_  http://www.suse.de/
>
>
>
>



More information about the quake3 mailing list