nel-all
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nel] problems compiling.


From: HERNANDEZ CORDOBA RODRIGO JOSE
Subject: Re: [Nel] problems compiling.
Date: Fri, 22 Oct 2004 16:04:26 -0600

Hi Andi,

Great! I updated my cvs yesterday, but before I did was still having the
replicate symbols errors on VC++7.1.

also on the clamp asm right at the top I realized after I sent the email
that instead of:

mov eax, v
mov ebx, v

You should do

mov eax, v
mov ebx, eax

since moving data from register to register is faster than memory to
register, in any case in both cases eax and ebx end up with the same
value, you can check my copy of the cvs tree to see the inline gas
version, I also changed some other asm around and added a check for
3DNow! on cpu_info.cpp I think it is.

Cheers! ;)


----- Mensaje Original -----
De: "Andi [ Debug ]" <address@hidden>
Fecha: Viernes, Octubre 22, 2004 4:06 pm
Asunto: Re: [Nel] problems compiling.

> i wlil have a look maybe i need to update the projects based on 
> the new cvs 
> tree i do this only once a week
> on fridays
> 
> oh thats today :)
> 
> 
> ----- Original Message ----- 
> From: "HERNANDEZ CORDOBA RODRIGO JOSE" <address@hidden>
> To: <address@hidden>
> Sent: Friday, October 22, 2004 2:53 PM
> Subject: [Nel] problems compiling.
> 
> 
> > Hello all,
> > I am having some troubles compiling, some I am not sure if its 
> due to my
> > changes or due to the latest changes on CVS, hope you can help me:
> >
> > On VC++7.1 I get tons of already defined symbol errors, here is 
> a sample:
> >
> > nlmisc_d.lib(debug.obj) : error LNK2005: _RtlSecureZeroMemory 
> already> defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedAnd64 already
> > defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedOr64 already
> > defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedXor64 already
> > defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedIncrement64 
> already> defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedDecrement64 
> already> defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedExchange64 
> already> defined in nlmisc_d.lib(log.obj)
> > nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedExchangeAdd64
> > already defined in nlmisc_d.lib(log.obj)
> >
> > Those seem to be all windows functions so I have no clue about 
> what is
> > wrong.
> >
> > Then on device_manager.cpp there is the line
> >
> > #include "nel/misc/device_manager.h"
> >
> > However the file device_manager.h is no where to be found, the 
> file only
> > has an empty constructor so I asume everything is inlined in the 
> header> or the class is empty, I created an empty class inside the 
> cpp file and
> > removed the include line, but I dont know if this is ok or not.
> >
> > I am making changes so it is possible to compile NEL on MSYS 
> with MinGW.
> >
> > I also found a bug on the fastClamp8(sint &v) function in 
> algo.h, the
> > asm reads:
> > // clamp v in 0..255 (no cond jmp)
> > __asm
> > {
> > mov esi, v
> > mov eax, [esi]
> > mov ebx, eax
> > // clamp to 0.
> > add eax, 0x80000000
> > sbb ecx, ecx
> > not ecx
> > and ebx, ecx
> > // clamp to 255.
> > add eax, 0x7FFFFF00
> > sbb ecx, ecx
> > or ebx, ecx
> > and ebx, 255
> > // store
> > mov [esi], ebx
> > }
> >
> > but it should be:
> >
> > __asm
> > {
> >    mov eax, v
> >    mov ebx, v
> >    // clamp to 0.
> >    add eax, 0x80000000
> >    sbb ecx, ecx
> >    not ecx
> >    and ebx, ecx
> >    // clamp to 255.
> >    add eax, 0x7FFFFF00
> >    sbb ecx, ecx
> >    or ebx, ecx
> >    and ebx, 255
> >    // store
> >    mov v, ebx
> > }
> >
> > Anyway, I have a public CVS where I keep my imported copy of 
> Nel, if
> > someone wants to take a look the CVSROOT is
> >
> > :pserver:address@hidden:/cvsrepo
> >
> > the module is 'nevrax' just hit enter for the password, and be 
> warned, I
> > added the game data to it, so its not quite dial up friendly, 
> you should
> > be able to run a diff against the official CVS, though I dont really
> > know how yet :)
> >
> > Thanks for any help.
> >
> >
> >
> >
> >
> > _______________________________________________
> > Nel mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/nel-all
> >
> > 
> 
> 
> 
> 
> _______________________________________________
> Nel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/nel-all
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]