LeCom wrote:Especially because Voxlap graphics are part of AoS.
I don't mind adding optional interpolating stuff though.
But first, I need to fix the kv6 renderer.
In my opinion, you should stick to assembly, and just port Ken's MASM to NASM. Despite the names, NASM is the best alternative on all platforms. This is also why we had two separate branches in the old project. One for pure-C and another for ASM porting.
LeCom wrote:Especially because Voxlap graphics are part of AoS.
I don't mind adding optional interpolating stuff though.
But first, I need to fix the kv6 renderer.
In my opinion, you should stick to assembly, and just port Ken's MASM to NASM. Despite the names, NASM is the best alternative on all platforms. This is also why we had two separate branches in the old project. One for pure-C and another for ASM porting.
One of the reasons why I try to only use C is that I have absolutely no skills at coding ASM :3
I remember Sonarpulse wrote somewhere that the NASM port may not be exactly the same as the original one. But a fact is that drawboundcubesse segfaulted when I moved it from the v5.asm into C inline assembly. Maybe it's because MSVC inline assembly is being handled differently than GCC inline asm. Another option would be just assembling it into a .obj and then linking. When doing this, I had trouble because of the circular dependencies (v5 wanted access to C global vars while C called v5 functions), but I will try to work on it. For me, using ASM would be only a temporary fix though.
LeCom wrote:But a fact is that drawboundcubesse segfaulted when I moved it from the v5.asm into C inline assembly. Maybe it's because MSVC inline assembly is being handled differently than GCC inline asm.
Uhm... you do realise that GCC inline ASM uses AT&T assembly syntax, right?
LeCom wrote:But a fact is that drawboundcubesse segfaulted when I moved it from the v5.asm into C inline assembly. Maybe it's because MSVC inline assembly is being handled differently than GCC inline asm.
Uhm... you do realise that GCC inline ASM uses AT&T assembly syntax, right?
Yeah, but there's a parameter that makes GCC process inline assembly with intel syntax. There are a few small things that the assembler complained about (for example, comments have still to start with #), but that can be fixed. Also, do you know any reason why drawboundcube***init tries to modify the drawboundcube program code? That would receive sigsegv in any case, cause program code is write-protected. And I wonder now what the difference is between just having a function with pure inline ASM and having a function in an .asm/compiled ASM file.
Spidercooce wrote:He should probably just get on skype and work on it with some other coders all night
gg
No one of the coders actually tried to help me at least a bit, nobody even responded when I asked at IRC (skype? wtf?). But why should they, this could possibly ruin the hard work they put into openspades, although it was all wasted anyways. The only one who was willing to give me some possible reasons for a problem was IceCream, but he isn't involved into all that Voxlap stuff, so there's not much he can change. I obviously have to do this on my own; maybe Ken will explain some algorithms.