Quasar
Moderator

Posts: 4484
Registered: 08-00 |
Ghostly and I have had a chat, so no more flames etc. will be necessary. EE's 64-bit portability situation has certainly improved significantly over the past few months. All of the issues to which he refers are ones inherited from the ancestral codebases.
We have eliminated all usage of "long" where it is not specifically mandated by the return types of various functions, and I have converted almost all integer types in the engine to ISO fixed-width, with the exception of some shorts which to my knowledge aren't affected on 64-bit anyway, and those only because I haven't gotten around to fixing them yet. All instances of non-portable pointer cramming have also been eliminated.
EDIT: Ghostly managed to debug the error and found it was the I_Error in Z_Init which wasn't getting a chance to print out for some reason. Turns out I'd thus far forgotten to adjust "HEADER_SIZE" to take 64-bit into account, so sizeof(memblock_t) was too large when bearing 8-byte pointers.
Now it gets to the title screen which is progress; however, it crashes as soon as it tries to render anything, and I can't figure out what's going on. "heightmask" is -1 in R_QDrawColumn, which would indicate that the column texture height is 0. This sounds nonsensical to me. I am trying all kinds of things and so far nothing is working.
Last edited by Quasar on 03-09-10 at 05:17
|