Mail Archives: djgpp/2015/04/28/07:30:10
Hi,
On Tuesday, April 28, 2015 at 3:45:29 AM UTC-5, Wiktor S. wrote:
> DJ Delorie wrote:
> > My guess is that gcc's change to default to C99 semantics has broken
> > this code in sys/cdefs.h, despite the comment that says it shouldn't:
>
> This is because it isn't there.
> I am using djdev204.zip from the FTP site. The file seems to be from 2003.
Quake is from 1996, and the 1999 source release is clearly using GCC
2.95 (at best), which had almost no C99 (or "c9x", as they called it)
support!
I still have my 2009 quake.mak sitting around (dunno why, I never
intended to do any hacks, never even played the full game, only demo).
Honestly, I prefer (full) Hexen 2, which has an awesome DJGPP port
(and probably easier to recompile), thanks to Ozkan.
1). http://sites.google.com/site/rugxulo/quakemak.txt
2). http://uhexen2.sf.net
> I've added the above code to <sys/cdefs.h> and modified <inlines/pc.h> to
> use this macro, and then the problem disappears.
Bah, I should've native booted (or used DOSEMU or VirtualBox on my main
VT-X desktop). Instead I used slow QEMU 2.2.50 atop Win7 64-bit. Even
id's FTP is slow. But I did download (from mirror!) DJDEV204.ZIP,
BNU225B.ZIP, MAK40B.ZIP, GCC510B.ZIP, Q1SOURCE.ZIP, QUAKE106.ZIP.
I did also change two things mentioned in the makefile (use crt0
*nix sbrk style, and [why??] removed one mention of "static" in
"qboolean isDedicated;" in sys_dos.c).
Of course you have to delete CWSDPMI r1 as too buggy. And your .EXE
will be much bigger since the libc (2.0.0 beta3 ??) was still unfinished
at that time (right, CWS??). Yeah, I still got the problems mentioned,
but I just deleted those few problematic *.o files, added "-std=gnu89"
and ran make again. Still has problems (bugs?) in obscure areas, no idea,
crashing on startup, but eventually I typed "quake -nosound -mem 64 -nocdaudio", and then it worked through the first level okay.
Or are you using a third-party modified version? I (very barely) knew of
a few, but I'm not sure how well they were maintained (for DOS/DJGPP)
in recent years. I'm not really in the loop, not much of a gamer
anymore (not that I ever was very much).
- Raw text -