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: Tue, 02 Nov 2004 08:06:03 -0600

Don't use that patch is quite stale, if anyone is interested on the MSYS
"port" use my cvs, I synch it with the main branch about every other
day, luckyly I am modifing files Debug is not :).

So far I have been able to compile the nelmisc.dll, working on nel3d now

Cheers!

----- Mensaje Original -----
De: Rodrigo Hernandez <address@hidden>
Fecha: Sábado, Octubre 23, 2004 12:38 pm
Asunto: Re: [Nel] problems compiling.

> 
> I have created a patch (attached) however I do not believe this is 
> the 
> optimal form, as it is 2 mb uncompressed and I am sure I did not 
> made that 
> many changes, its not entirely functional (the code still does not 
> entirely 
> compile under MSYS) and has many '$Id:' changes due to the import 
> that I 
> don't think are right.
> 
> I am submitting this patch with the hopes that it may be useful 
> for example 
> to get the VC++ 7.1 projects and solution files to a more portable 
> state, 
> since they have relative paths included in themselves, and some 
> other 
> changes related to MSYS compilation (autotools and defines mostly).
> 
> Also so I can get some help with the problems I described before :)
> 
> Once I get the source tree to properly compile I will create a 
> proper patch.
> 
> Thanks :)
> 
> At 06:49 PM 10/22/2004, you wrote:
> >if you could make .patch files and throw them at the mailing list 
> that 
> >would be handy indeed
> >
> >then vianney lecroart can patch the NeL cvs tree with ones that 
> are approved
> >
> >
> >----- Original Message ----- From: "HERNANDEZ CORDOBA RODRIGO 
> JOSE" 
> ><address@hidden>
> >To: "Developer's list for the NeL platform" <address@hidden>
> >Sent: Friday, October 22, 2004 5:04 PM
> >Subject: Re: [Nel] problems compiling.
> >
> >
> >>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
> >>
> >>
> >>
> >>_______________________________________________
> >>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
> 
> Rodrigo Hernandez, lonewolf programmer
> Aeon Games
> http://www.aeongames.com 
>
_______________________________________________
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]